/BTD-Mod-Helper

A powerful and easy to use API for modding BTD6, BATTD, and other Ninja Kiwi games.

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Icon Download

BTD Mod Helper

total downloads total issues code size latest release

A powerful and easy to use API for modding Bloons Tower Defense 6.

Instructions

Player Features

  • An In-Game Mod Browser for viewing/downloading/updating mods from GitHub

  • An In-Game Mods Menu with customizable Mod Settings alongside enabled/disabling/deleting etc

  • Re-enabling profile progress saving for specific single-player situations

Mod Creator Features

  • Many new API Classes for adding new BTD6 Content

  • Hundreds of API extension methods

    • Many helpful type-based .GetBehavior<T>(), .RemoveBehavior<T>(), etc methods for working with behavior models
    • Easily accessible LINQ operations like .Where(), .Select(), .FirstOrDefault() etc for all Il2Cpp collection types
    • Easy conversion between normal and Il2Cpp collection types
    • Extensions on types like Game and InGame for common operations like GetCash(), GetHealth() , GetGameModel() etc
  • The BloonsTD6Mod class

    • Easy common hooks like OnMainMenu(), OnTitleScreen(), OnNewGameModel() etc
    • Define Mod Settings like ModSettingInt , ModSettingHotKey, ModSettingEnum etc
    • Make your Harmony Patches not brick your whole mod if one of them fails after a game update
  • A dedicated BTD6 Mod Sources folder with standardized btd6.targets file

    • Develop your mods with referential dependencies that would work on anyone else's machine
    • Automatically copies your .dll to the Mods folder on build, even while the game is running
    • Automatically includes your .png, .bundle etc files as embedded resources
    • Create a new Mod from an empty template from In Game
  • Even more

    • New strongly typed enum-like classes for base BTD6 types like UpgradeType, BloonType, BloonTag etc
    • API methods for handling Co Op
    • All sprites in the game easily referencable from the VanillaSprites class
    • Classes for accessing the in-built Fonts and Animations used by BTD6
    • Helper Unity components like ScaleOverride, MatchLocationPositions, MatchScale

Credits

BTD Mod Helper was originally created by @gurrenm3, and is now primarily developed by @doombubbles.

Others who have made notable suggestions/contributions include but are not limited to: Bowdown097, Mr Nuke, James, Timotheeee, and Silentstorm.

Contact

Mod Helper contributors are most active on the BTD6 Mods & Discussion Discord Server.

Discord names gurrenm4#2395 and doombubbles#1701