Quick answer: When applying an override on a variant, the context menu offers Apply to Base Prefab and Apply to [Variant]. Pick deliberately — the default isn’t always what you want.
An edit to FireGoblin (a variant of Goblin) gets applied — and suddenly the base Goblin and every other variant changed too. The apply targeted the base.
Variants Have a Chain
FireGoblin → Goblin (base). An override on the FireGoblin instance can be applied either to FireGoblin (stays variant-local) or pushed all the way to Goblin (affects everything).
Read the Apply Target
Right-click the modified property (or use the Overrides dropdown). The menu shows:
- Apply to Prefab ‘FireGoblin’ — the change becomes part of the variant only.
- Apply to Prefab ‘Goblin’ — the change goes into the base; all variants inherit it.
Choose based on intent. The component-header “Apply All” button is ambiguous — prefer the per-property menu.
Revert Goes the Same Way
Revert has the same two-target choice. Reverting to base vs to variant are different operations — check which you’re doing.
Use the Overrides Window
The Overrides dropdown lists every change with its target. Review it before a bulk apply — it’s the safest way to see exactly what goes where.
Verifying
Apply a FireGoblin-specific tweak to FireGoblin only — base Goblin and IceGoblin are untouched. Apply a shared fix to the base — all variants pick it up.
“Variant applies have two targets. Pick base vs variant deliberately — don’t trust a blanket Apply All.”
For team projects, review prefab .prefab diffs in code review — an accidental apply-to-base shows up clearly there.