Gaze Inspector


... Polymorphic Fields ... Mixed Lists: Every element in a list or array can hold a completely different type. ... [Button]: Turn any parameterless method into a clickable button right inside the ...


by Gray Wolf Studio


Price History +

Gaze Inspector is a focused set of attributes and drawers designed to fill the gaps the default Unity inspector leaves behind. It provides a serializable dictionary, subclass pickers for [SerializeReference], conditional visibility rules, pagination for large collections, and inline validation.


📖 Serialized Dictionary

Unity does not natively serialize Dictionary<TKey, TValue>. The usual workaround involves two parallel lists and an ISerializationCallbackReceiver, which leaves you editing keys and values in separate arrays. Gaze ships a SerializedDictionary that draws as a real two-column table.

  • Searchable: Search across both keys and values.
  • Safe: Built-in duplicate key detection.
  • Customizable: Define custom column labels and value foldout headers.
  • Scalable: Fully paginated, keeping tables with hundreds of entries lightweight and usable.


🧬 Polymorphic Fields

[SerializeReference] lets Unity serialize a field by its base type and store any subclass in it. However, Unity doesn't give you a native UI to actually assign one, the field just sits there with nothing to click. Gaze automatically draws a subclass picker on any [SerializeReference] field.

  • Universal Support: Works on abstract base classes, concrete types, and interfaces.
  • Mixed Lists: Every element in a list or array can hold a completely different type.
  • Zero Extra Attributes: No custom Gaze attribute is needed; it works purely with Unity's native [SerializeReference].


🎛️ Conditional Fields

Keep your inspector clean by showing, hiding, enabling, or disabling fields dynamically based on other values.

  • Visibility: [ShowIf] and [HideIf] add or remove fields from the inspector.
  • Interactivity: [EnableIf] and [DisableIf] gray fields out while keeping them visible, effectively read-only.
  • Flexible Conditions: Evaluate conditions using fields, properties, enum values, or methods that return a boolean.


📑 Paginated Collections

Large collections often make the default inspector slow and laggy. Gaze automatically paginates any list, array, or SerializedDictionary.

  • Performance First: Only the current page is drawn. The total element count no longer dictates your inspector's rendering cost.
  • Configurable: Adjustable page size (defaults to 15).


⚡ Validation & Utilities

  • [Required]: Flags unassigned fields by drawing a clear inline error directly above the missing reference.
  • [Button]: Turn any parameterless method into a clickable button right inside the inspector for rapid testing.