Mod Life-cycle

This page documents the life-cycle of a Mod class, as well as other relevant GameObjects.

  1. The SceneBootstrapper instantiates the board prefabs and the manager GameObjects.

  2. After the most essential managers are created (SteamManager, SaveManager, etc.) the ModManager is created

  3. ModManager looks for mod folders (specifically, manifest.json files) in the local Mods folder [1] and Steam Workshop folders

  4. The assemblies are loaded, and each found Mod class (one per assembly!) is added as a component to the ModManager (if a Mod class is not found or the assembly is missing, a default Mod class is created), and fields such as Harmony and Logger are initalized so they are accessible in the mods Awake method

  5. The GameDataLoader loads all vanilla content, then loads the modded cards, blueprints, and packs

  6. After all vanilla content has been loaded, localization.tsv files get loaded from the mod folders, and the Ready method is invoked on each Mod class