VarianceAPI

v2.3.1·Updated 2026-03-25

VarianceAPI allows you to create Variants for CharacterBodies, Variants can have different textures, lights, skills, and more.

Screenshots 7 screenshots

About this mod Author’s original text

VarianceAPI

VarianceAPI is a complete rewrite of Rob's original Monster Variants concept, the tools inside the API allows you to create Variants for existing Characters in the game, want a lemurian that's twice the size and spits out lasers? Want a golem that's blazing fast and spawns enemies when clapping? All of this and more are possible with VarianceAPI

Features

Thunderkit Ease of Development.

VarianceAPI was made with ThunderKit in mind, as such, almost all of it's systems are made with it in mind, The way how variants are defined and created are done via ScriptableObjects, While Variants can be created entirely in code (untested, report a bug if this isnt the case), VarianceAPI doesnt give any kind of official support for doing this.

Lobby Rules and VariantPacks

VarianceAPI comes bundled with VariantPacks, each VariantPack contains the Variants that are going to be added to the game alongside other tidbits, thanks to this system, it is completely possible to use the Lobby's rule system to enable and disable entire Packs together, or Variants themselves with a config change.

Custom Tiers

With the advent of ItemTierDefs, VAPI 2.0 adds VariantTierDefs, which allows you to create your own Tiers for your custom variants, the tier def itself is not sealed and you're intended to subclass it to add more functionality to it

Less Tight Coupling

VarianceAPI's systems are now less coupled together, You can now get the VariantDefs from a body using the BodyVariantDefProvider, and create custom reward logic for tiers using the VariantReward class.

Custom Spawning Rules

VarianceAPI 2.0 introduces the VariantSpawningCondition scriptable object, which allows you to specify a collection of criteria that need to be met for a Variant to spawn.

Complete Spawn Control

VarianceAPI 2.0 introduces the VariantSummon class, an extension of MasterSummon that allows you to carefully control a custom spawned variant, do you want an enemy that when killed spawns another enemy with a specific Variant? want a skill that spawns enemies but said enemies are never variants? VariantSummon allows you to do this.

Console Commands

VAPI adds new Console commands to VarianceAPI, which allows you to debug test variants, the commands are the following:

| Command | Arguments | Effect |

|--|--|--|

| vapi_list_bodies | none | Lists all the Bodies that have VariantDefs associated with them |

| vapi_list_variants | body name | Lists all the variants associated with the specified body |

| vapi_spawn_ai | Argument 1: Master Name - Argument 2: Variants | Spawns the specified Master with the VariantDefs specified active |

| vapi_spawn_as | Argument 1: Body Name - Argument 2: Variants | Spawns you as the specified body with the specified VariantDefs active |

Editor Utilities

It is extremely recommended to use the Github repo version of the API for development on ThunderKit, as said version comes bundled with an Editor assembly that simplifies and gives utilities on creating new Variants

MSU Implementation

VarianceAPI depends on MSU, this is done so the API can fully leverage from the existing MSU systems to create the custom variant items alongside other utilities found on MSU, despite this, it is not necesary to touch MSU in any way shape or form to create custom variants.

Documentation

The current 2.0 version of VarianceAPI does not have Documentation on the github's wiki, however, VarianceAPI 2.0 does come with XML documentation alongside unity Tooltips. Any questions can be asked on nebby's discord server.

Official Variant Packs (Variant Packs made by Nebby)

Below are the official VariantPacks that where made by Nebby. you can click the icon and a new tab will open showing the variant pack's page.

The Original 30

The original 30 is a complete port of Rob's original 30 Monster Variants, it includes a plethora of QoL changes such as using intrinsic items, better balancing and more.

Nebby's Wrath

Nebby's Wrath is a complete port of the Additiona

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

TeamMoonstorm-MoonstormSharedUtilsRiskofThunder-R2API_RulebookRiskofThunder-R2API_Prefab

File & checksum

Filename
VarianceAPI-2.3.1.zip
File size
314.4 KiB