StableRef 1.0.0 — Initial Release
A serializable polymorphic reference wrapper for Unity that survives class renames.
Unity's [SerializeReference] stores the full assembly-qualified type name, so renaming or moving a class silently breaks serialized data. StableRef decouples serialized identity from the class name via [StableTypeId], and falls back to the MonoScript GUID when no explicit ID is set.
Added
StableRef<T>— serializable wrapper for a single polymorphic reference.StableRefList<T>— serializable list ofStableRef<T>items.[StableTypeId("id")]— assigns a permanent stable ID to a class; rename or move the class freely without breaking serialized data.[StableRefCategory("Path")]— groups a type under a submenu in the inspector type selector.- Find Usages (
Tools → StableRef → Find Usages) — scans prefabs, scenes, and ScriptableObjects for all usages of a selected type. - Fix Missing Types (
Tools → StableRef → Fix Missing Types) — detects StableRef fields whose stored ID no longer maps to any known type, with snapshot-based recovery after class renames.
Unity 2021.3+