MSS Docs
Megastore Simulator mod docs
Developer documentation for the Megastore Simulator mods I build. Pick a mod to start.
Put your own upgrades in the Mega Tree
Mega Tree is an upgrade tree that lives on the store computer. Any BepInEx mod can register its own upgrade lines into it: you describe the node and write the effect, Mega Tree draws it, prices it, gates it, saves it per slot and translates it.
Straight to it
Coming from Tech Tree?
The API is the same, name for name: ForPlugin,
Register, UpgradeDefinition, the Mods tab
with a sub-tab per mod, the same fourteen built-in icons. Your registration code ports almost
unchanged - swap TechTree.Api for MegaTree.Api
and it compiles.
What changes is everything around it, because the runtime is different:
| Tech Tree (Supermarket) | Mega Tree (Megastore) | |
|---|---|---|
| Runtime | IL2CPP | Mono |
| BepInEx | 6 | 5 |
| Plugin base | BasePlugin + Load() | BaseUnityPlugin + Awake() |
| Target | net6.0 | netstandard2.1 |
| Game assemblies | BepInEx/interop/ | ..._Data/Managed/ |
| MonoBehaviour | ClassInjector + (IntPtr) ctor | just a MonoBehaviour |
| Static fields | writing one crashes the game | safe |
The mods
| Mod | What it does | Docs |
|---|---|---|
| Mega Tree | Register your own upgrade nodes in the Mega Tree. Same API as Tech Tree, built for Mono - you describe the node and write the effect, Mega Tree handles the interface, buying, saving and translation. |
Read the docs
Nexus |
| Mega UI | Put your own app on the store computer. You describe the screen top to bottom and Mega UI does the icon, the window, the taskbar tab and the layout - no world-space maths, no RectTransform. | Read the docs |
Are you a player, not a modder?
Then none of this is for you, and that is fine. These pages are about writing mods that plug into mine. If you just want to install and play, everything you need is on the mod page:
Reporting something
The Posts tab of the mod on Nexus is the fastest way to reach me. If it is about the API,
include the [api] lines from
BepInEx/LogOutput.log - they almost always name the cause.