Skip to content

The beginner mental model

You do not need to memorize architecture diagrams. You only need to know which layer owns which problem.

GAMEWorldBox

The game and the objects your mod eventually interacts with.

NMLNeoModLoader

Finds mod metadata, compiles/loads mods and gives mod code a place to start.

JSONmod.json

Metadata: identity, version, target build and dependencies. It is not your gameplay code.

CSMain.cs

Your C# entry class. In the currently tested WBML skeleton it derives from BasicMod<Main> and uses OnModLoad().

LOGPlayer.log

Your first evidence source: compile errors, loading lines, your own markers and runtime exceptions appear here.

APIPublic APIs

Supported surfaces exposed by NML or another mod such as PoliticalWorldAPI. Prefer these over private internals when they cover your task.

PATCHHarmony / reflection

Tools for behavior or internals that public APIs do not expose. They are more version-sensitive, so they are not the first thing a beginner needs.

For a tiny mod, think in this order:

mod.json can be read
C# can be compiled
mod class can be loaded
OnModLoad() runs
your marker appears
your feature code runs

If the chain breaks early, code that comes later cannot fix it.

No NML activity in the log means you should not debug your Political World action yet.

error CSxxxx means the compiler could not produce the mod assembly. Start with the exact compiler message.

Your [My Mod] Loaded marker exists but a button does nothing means the skeleton loaded successfully; now the problem is inside that feature or its runtime assumptions.

Source code is not automatically runtime truth

Section titled “Source code is not automatically runtime truth”

This documentation separates inspected source from tested runtime behavior. WBML already found cases where an older source snapshot and PoliticalWorldAPI 1.14.0 behaved differently. That is why pages show statuses such as Verified, Observed and Testing instead of pretending every snippet is universal.

Next: verify your first minimal mod.