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.