Quick answer: Unity prefab variant overrides erased after renaming the base prefab asset? Variant references the base by GUID, but property paths break on rename - apply overrides to the variant first.
Renamed Goblin.prefab to GoblinBase.prefab. All variants now show 'missing reference' for their override list.
Apply overrides pre-rename
Before renaming, select each variant, Overrides > Apply All to Base. The base absorbs the diffs; the variant becomes an empty diff that survives the rename.
Then revert non-shared changes
For variant-specific overrides, after the rename, Revert the now-baseline values. Round-tripping through the base is the safest path.
Or rename via Move script
AssetDatabase.RenameAsset(oldPath, newName);The scripted path is identical to Move-in-project; both preserve GUIDs. The breakage is variant override paths, not GUID resolution.
“Prefab variants store overrides by property path. Renames don't change paths but tools can lose track.”
Avoid renaming prefab assets that have many variants. Use a wrapper layer (ScriptableObject) for naming if you need flexibility.