1.1.0
Generic types in the selector, a code-friendly StableRefList, and faster type discovery.
- The type selector now offers generic types for closed generic fields: for
StableRef<ICondition<Unit>>orStableRefList<ICondition<Unit>>, open generic definitions (All<>,Any<>, …) appear and are closed with the field's own arguments (All<Unit>). The interface may be implemented indirectly through a base class, and reordered or partially-fixed type parameters are inferred. - Closed generic values get a stable ID too, composed from the open definition's ID plus its argument IDs, so
All<Unit>andAll<Shape>are distinct entries and both survive class renames. Each argument type still needs its own stable ID (its own file, or[StableTypeId]). StableRefTypeRegistrylogs an error for duplicate stable IDs: two types sharing a[StableTypeId]are reported on every editor load / recompile.StableRefList<T>can now be edited from code with a familiarList<T>-style API:Add,AddRange,Insert,Remove,RemoveAt,RemoveAll,Clear,Contains,IndexOf,Find,FindIndex,Exists, plusValues/ValueAtand a publicItemsfor the fullListsurface. Indexing andforeachstill yield theStableRef<T>wrapper.- New editor helper
StableRefSync.AssignIds(list)/AssignId(entry)stamps stable IDs onto entries created from code — the inspector does this automatically when a field is drawn, so call it after building lists in an editor script (before saving). - Find Usages and Fix Missing Types now render generic values correctly — clean
SR: Alllabels and full nesting, where before they showed the rawAll`1name and a collapsed hierarchy. NestedStableRefListnodes show the collection's field name instead of the backingItems. - Find Usages: removed the type-filter dropdown and the parent-type prefix shown before each class (legacy noise). Every StableRef value is now tagged with a short
SR:prefix to stand out. - Both tool windows reset their search and scan results after a domain reload / recompile, so they no longer show stale or broken state — in particular Fix Missing Types no longer errors out after a rebuild.
- Type discovery now uses Unity's
TypeCacheinstead of scanning every loaded assembly, so opening the selector and running the scans is faster on large projects.
Full Changelog: 1.0.2...1.1.0