ArTchie-Bedder-Suite / Docs / Rivet
Prefab Override Diff
Lists prefab instance property overrides in scenes versus their source prefab.
Editor-only. Unity 2021.3+. Lives in Rivet.Editor (includePlatforms: Editor). No extra packages.
Editor window
ArTchie / Rivet / Prefab Override Diff
| Control | What it does |
|---|---|
| Open scenes only | On (default): scan loaded scenes. Off: every scene under Assets/ (skips Packages/ and Library/). |
| Include default overrides | Off (default): hide root position / rotation / scale defaults. |
| Scan | Walks prefab instance roots; lists instances with at least one property override. |
| Copy JSON | Puts the report JSON on the clipboard. |
| Write report | Writes <project>/RivetReports/prefab-override-diff.json (creates the folder if needed). |
| Ping | Selects and pings the instance. Opens the scene additively if it is not loaded. |
Each row is: scene path, GameObject hierarchy path, source prefab path, and override property paths.
Batchmode (CI)
Unity -batchmode -nographics -quit -projectPath <proj> -executeMethod Rivet.PrefabOverrideDiff.RunBatch -rivet-out <file.json> -rivet-fail
| Arg | Meaning |
|---|---|
-rivet-out <file.json> |
Output path. Default: <project>/RivetReports/prefab-override-diff.json |
-rivet-fail |
Exit code 1 if any instance with overrides was found; otherwise 0 |
-rivet-open-scenes |
Scan only scenes that are already loaded (default batch scan is every Assets/ scene) |
-rivet-defaults |
Include default overrides (root pos/rot/scale) |
RunBatch only calls EditorApplication.Exit when Application.isBatchMode is true. It logs count= and the output path.
Also accepts -rivet-out=file.json.
JSON
{
"tool": "PrefabOverrideDiff",
"generatedUtc": "2026-08-18T02:00:00Z",
"count": 1,
"items": [
{
"scene": "Assets/Scenes/Main.unity",
"objectPath": "Level/Door",
"prefabPath": "Assets/Prefabs/Door.prefab",
"overrides": ["m_LocalPosition"]
}
]
}
prefabPath is "" when the instance source is missing. Vector / color component suffixes (.x / .r …) are collapsed to the parent path.
Notes
- Uses
PrefabUtility.HasPrefabInstanceAnyOverrides,GetObjectOverrides, andGetPropertyModifications. - Added / removed component overrides are not listed (those APIs are noisy). An instance is reported only when a property modification remains after default-override filtering.
- Nested prefab instance roots are included.
- All-scenes scan: additive open+close in the Editor window (prompts to save, restores your previous setup);
OpenSceneMode.Singlein batch. - Empty projects and a missing
RivetReportsfolder are fine (count0). - Does not apply or revert overrides. Does not touch runtime player code.
Source in the box: Assets/ArTchie Studios/ArTchie-Suite/com.artchie.rivet/Documentation/PrefabOverrideDiff.md