Quick answer: Materials are shared asset references. Editing in Prefab Stage edits the shared file. Duplicate the Material to a unique copy, assign to your prefab, then edit. Or use a Material Variant for inheritance with overrides.

You edit a tree prefab’s leaf color in Prefab Stage. Save. Open another tree prefab — its leaves are also the new color. Materials are assets, not per-prefab properties.

The Symptom

Edits to a Material in Prefab Stage propagate to every prefab using that material. Per-prefab visual variation requires per-prefab materials.

The Fix

Step 1: Duplicate the material. Right-click the existing Material asset → Duplicate (Ctrl-D). Rename to indicate the variant (M_Tree_Snowy.mat).

Step 2: Assign the duplicate. Open the prefab. Select the renderer. Drag the new material into the Materials slot.

Step 3: Now edit safely. Edits to M_Tree_Snowy don’t affect M_Tree_Default.

Material Variants (Unity 2022.1+)

Right-click M_Tree_Default → Create → Material Variant. The variant inherits all properties; you override only what differs.

M_Tree_Default            (base)
  M_Tree_Snowy            (variant: overrides Color = white)
  M_Tree_Autumn           (variant: overrides Color = orange, Roughness)

Editing the base updates inherited values; overrides win. Less duplication, easier to reskin a whole biome.

Runtime Tweaks

For per-instance live values (damage flash), use MaterialPropertyBlock from script:

private MaterialPropertyBlock _mpb;
private static readonly int _id = Shader.PropertyToID("_BaseColor");

void FlashRed()
{
    _mpb ??= new();
    rnd.GetPropertyBlock(_mpb);
    _mpb.SetColor(_id, Color.red);
    rnd.SetPropertyBlock(_mpb);
}

Doesn’t modify the asset; per-renderer override that’s safe at runtime.

Verifying

Edit prefab A’s material. Reopen prefab B. B’s appearance unchanged. If B also changed, you’re still on the shared asset.

“Duplicate the material. Or variant it. Edits stay in scope.”

Related Issues

For prefab variant overrides lost, see variant overrides. For ScriptableObject persistence, see SO persistence.

Materials are assets. Duplicate or variant. Edits stay local.