Why broken references happen
References can break after deleting assets, changing serialized fields, reorganizing prefabs or migrating packages. The visual result may not reveal the problem until a specific object is instantiated or a scene is loaded.
Distinguish missing scripts from broken references
A missing MonoBehaviour is one kind of broken serialized state. A reference field can also point to an object that no longer exists. Treat these cases separately in reports so developers know what they are fixing.
Scan serialized data
Editor QA tools can inspect serialized properties and identify object references that no longer resolve. The key is to report the exact asset and property rather than only saying that a reference is broken.
Use safe diagnostics
Read-only scanning is a good default. A QA pass should tell you what is wrong without unexpectedly rewriting project assets.
Create a repeatable gate
Run reference checks before a build and after large refactors. This turns a hidden runtime risk into a visible editor signal.
Reduce false positives
Project-specific exceptions may be legitimate. Give teams a way to filter or ignore known cases rather than weakening the entire validation rule.
Centralize editor QA
When several checks use the same report and navigation workflow, a dedicated editor tool can make project maintenance faster. RomaSoft Smart Prefab Cleaner is one example of this approach.
Conclusion
The most reliable Unity workflows separate responsibilities, make expensive work predictable and turn repeated checks into repeatable systems. Start with a small implementation, measure the real bottleneck and expand only when the project needs it.