Advanced Topics
These pages go past day-to-day patching. You do not need them to write a working patch, but they matter once you ship to other people, share code across files, or want to understand what PatchManager is doing under the hood.
Sharing Lua with require covers splitting a patch set across files and pulling in shared helpers, including from another mod.
Cross-mod compatibility covers writing patches that coexist with other mods through namespacing, ordering, and dependency declarations.
Converters explained covers what a converter actually is, why
PM:Patchtakes one, and how the typed modules pick one for you.Caching and invalidation covers the patch cache of each feature set, the changes that cause a rebuild, and how to read the final patched assets from the cache.
Patching from C# covers writing and running patches from a C# mod with the C# patching API, the mirror of the Lua surface.
Extending in C# covers writing your own converter, module data adapter, or typed submodule in a C# mod so other patch authors can use it from Lua.