Quick answer: Use the Overrides dropdown to review changes before applying. Prefer Prefab Variants over deeply nested prefabs — variants make override layers explicit.
A team building an inventory of weapon prefabs: a base Sword prefab and variants (FlameSword, IceSword) with tweaked particle effects. Edit the base, click Apply, and FlameSword’s flame effect vanishes.
Review Before Applying
In Inspector, with a prefab instance selected, click the Overrides dropdown:
- List shows every override on this instance.
- “Revert All” restores everything to base — danger.
- “Apply All” pushes overrides into base — also danger if you wanted them local.
Use per-item “Revert” / “Apply to base” to be surgical.
Prefab Variants
To make “FlameSword”:
- Right-click Sword prefab → Create → Prefab Variant.
- Open the variant. Modify the particle component to be flame.
- Save. The variant inherits everything else from base.
Now editing base Sword propagates structural/behavioral changes; variant’s flame particle remains.
Avoid Deep Nesting
Nesting prefab instances inside prefabs can cause cascading override loss if any of the intermediate parents change structure. Two levels is usually safe; three or more becomes brittle.
Diff Tool
Window → Asset Management → Open Prefab Diff. Compare instance vs base; shows which fields differ. Verify before commits.
Source Control Note
Prefab .prefab files are YAML. Inspect diffs in git to see exactly what changed. Variants only list deltas; reading the diff is straightforward.
Verifying
Edit base Sword: change handle color. FlameSword: handle color updates (inherited), flame effect intact. Save base; reload scene; both variants render correctly.
“Variants are the contract: ‘here’s what differs from base’. Without them, overrides are accidents waiting to happen.”
For nested prefabs you can’t convert to variants, lock overrides via right-click → Lock Overrides — Unity then refuses to revert/apply unintentionally.