A powerful and easy to use API for modding BTD6, BATTD, and other Ninja Kiwi games. It was created with the successes and failures of previous APIs in mind so it's significantly easier to use.
NEW: For the most up to date information, use our GitHub Wiki
Like other API, download/clone it. In your mod's Visual Studio project add a reference to BloonsTD6 Mod Helper.dll
or BloonsAT Mod Helper.dll
depending on your game. In your mod files, you can now use using BTD_Mod_Helper;
and derivatives like using BTD_Mod_Helper.Extensions;
to access the Mod Helpers contents. Thats it. Much of this API is built using extension methods, which means it's created to work along side the game's own code. So just make your mods like normal and you'll see the new features pop up in Visual Studio Intellisense. As a side note, make sure the mod is in your game's Mods folder. It needs to be run like a mod
NEW WITH VERSION 2.0
- A fully featured custom Tower system that makes adding new Towers vastly easier
ModTower
for adding TowersModUpgrade
for adding UpgradesModDisplay
for adding Displays
- In Game configurable settings for your mods
- Automatic registering of textures that you include in your project
Original
- Much of the useful game code is hidden, deeply nested, and located in obscure places. The API moves them to
Game.instance
andInGame.instance
whenever it makes sense to make them significantly easier to access and bring awareness to their existance. - Many extension methods added to make modifying towers, upgrades, weapons, projectiles, and bloons easier.
- A lot of code for towers/bloons is unconnected, meaning you have to go all over to find something. API connects them in as many ways as possible
Tower
s,TowerModel
s,TowerToSimulation
, andTowerPurchaseButton
are all inter-linked.Bloon
s,BloonModel
s, andBloonToSimulation
are all inter-linked- Same for Abilities and projectiles
- Can get every created instance from a model. Ex: Can get every
Tower
/TowerToSimulation
from a specificTowerModel
. Applies to everything in this list
- Massive amounts of support added for Behaviors. Can easily look for, add, and remove behaviors from nearly everything that has "behaviors"
- Added extension methods for Arrays,
System.List
s,Il2CppSystem.List
s,LockList
s,SizedList
s,IEnumerable
s, andIl2CppReferenceArray
s- Can convert between all of them, duplicate/clone, and change the "Type" that the collection is.
- New support for getting items, adding items, and removing items
- Custom linq extensions for easier manipluation
- More
- Support for custom textures/sprites/3d models
- Many extensions to allow for "Cross-Game compatibility". This means you can make your mod for one game and it will work for another with little to no extra work
For BTD6:
- Fully custom bloon sets (not possible in vanila BTD6), BloonBuilder (easier time creating custom bloon types), Json Serializer, and other useful features
- Co-op modding techniques
- Bugfixes for BTD6
- More
Mod makers that have used this API say it's at least 3 times easier to use and more powerful than the next leading API.
This mod wouldn't be possible without all of the contributions from the community. DoomBubbles and Bowdown097 added a lot of nice features to the api and provided a lot of valuable suggestions. Mr.Nuke, James, and Timotheeee we're really helpful when it came to testing/suggesting new features. Since this api was built off of the successes/ failures of Gurren Core and the old NKHook6, it does reuse some of the extensions from them. Thanks to ASM for creating and testing those original methods
The API already has a lot of features added, however it's no where near done. My goal is to make this a universal mod helper for all of Ninja Kiwi's unity games, so there's still a ton of work ahead. Also, the Mod Helper was recently redone to allow support for BTD Battles 2 when it's released.
If you have any suggestions please join our Discord Server. My Discord name is gurrenm4#2395