Material overrides on placed actors are stored as an index into OverrideMaterials, not as a reference to a slot. That is fine until art redelivers a static mesh with the slot order or the slot count changed.
When that happens the engine does not remap anything. It truncates the array to the new material count, so any override past the new end is destroyed outright, and every override that survives keeps pointing at whatever now occupies that index. The result is actors rendering the wrong material in maps nobody had open, and no warning anywhere.
Override Rebinder is an editor plugin that takes the boring but correct approach. Before the mesh changes it walks every level and snapshots each UMeshComponent OverrideMaterials entry keyed by SLOT NAME rather than by index. After the change it rebinds by name through the engine’s own GetMaterialIndex(FName), reports the slots that genuinely no longer exist in the source asset, and refuses to guess anywhere a name is ambiguous or gone. You get a list of what moved, what was restored, and what needs a human decision.
It is on Fab, and there is an itch build at $10.49 this week during a catalogue sale.
Disclosure since it matters to some of you: this plugin is AI assisted, written by an AI system, and the store page says so.