What prefab patches are
Prefab patches let several mods change the same Unity prefab without distributing separate, competing copies of that prefab. A patch describes only the differences: change a field, replace a reference, add or remove a component, add a child object, or suppress an existing object.
The stock prefab is loaded from Addressables when the game needs it. Patch Manager collects every patch for that address, resolves their dependencies and order, applies them to one effective prefab, and gives that result to the game. The original game asset is not modified on disk.
When to use a prefab patch
Use a prefab patch when you need to change a Unity object graph rather than a JSON data asset. Common examples include:
changing a component field on a stock UI or gameplay prefab
assigning a different material, texture, audio clip, or other Addressable
adding a component supplied by your mod
adding a new child GameObject
disabling a stock child without deleting it
coordinating a prefab change with another mod
For ordinary data such as part definitions, resources, science, or planets, the Text assets patching API is usually simpler.
Three authoring workflows
Visual authoring is the normal starting point. Import the stock prefab as a linked Addressable, create a prefab-patch variant, and edit it with Unity's normal Inspector. The Redux SDK compiles the overrides into a small JSON manifest.
C# authoring uses PrefabPatchBuilder. It is useful for generated changes, small patches, and values driven by mod configuration.
Lua authoring uses PM:Prefab. It produces the same runtime model as visual and C# authoring and works well for small imperative patches.
All three workflows share the same dependencies, ordering, diagnostics, and conflict handling. A visual patch is not treated as more important than a patch written by another mod.