Skip to content

1.1.0

Choose a tag to compare

@EgorShesterikov EgorShesterikov released this 17 Jul 19:39
aa9bb45

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>> or StableRefList<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> and All<Shape> are distinct entries and both survive class renames. Each argument type still needs its own stable ID (its own file, or [StableTypeId]).
  • StableRefTypeRegistry logs 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 familiar List<T>-style API: Add, AddRange, Insert, Remove, RemoveAt, RemoveAll, Clear, Contains, IndexOf, Find, FindIndex, Exists, plus Values/ValueAt and a public Items for the full List surface. Indexing and foreach still yield the StableRef<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: All labels and full nesting, where before they showed the raw All`1 name and a collapsed hierarchy. Nested StableRefList nodes show the collection's field name instead of the backing Items.
  • 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 TypeCache instead 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