Core Concepts
This is the part of the docs worth understanding well. Once these pages click, every typed module is just a thin layer of convenience on top of what is here.
The patch lifecycle is the one genuinely non-obvious topic: how passes and ordering buckets decide when your patch runs. Read this before you fight with ordering.
Targeting assets covers labels and the
NamedandNotNamedfilters that decide which assets a patch touches.The Do callback is where you actually change data, including how to delete an asset.
Creating assets covers adding brand new content instead of editing existing content, including copying an asset with
Duplicate.Features describes how to declare campaign features and how to gate patches, created assets and prefab patches on them. Your content is then only in the campaigns that enable it.
Gates (
Requires,Has,HasNo) skip a patch when its preconditions are not met and report the skip cleanly.Dependencies and ordering covers
Needs,Conflicts, and the before and after relationships that let patches coexist.Working with JSON covers the JSON value you are handed, the methods on it, and the
Jhelpers for the cases plain Lua tables cannot express.Config integration describes the settings of your mod and the relation between settings and patches.
Reading the summary is how you debug: where to find what ran, what was skipped, and what errored, plus logging from a patch with the
Logglobal for the cases the summary cannot cover.