Objects

Base classes for Paragon's editor tooling. This subsystem wraps Odin Inspector's editor and drawer infrastructure with UI Toolkit integration, lifecycle management, and UXML template loading. All custom editors, property drawers, and visual elements in the Paragon framework inherit from these base classes.

Architecture

spinner

Data Flow

spinner

Classes

Class
Description

Base property drawer wrapping OdinValueDrawer<T> with a target convenience property

Base custom editor wrapping OdinEditor with UI Toolkit support and UXML template loading

Base VisualElement with lifecycle management, UXML template auto-loading, and query helpers

Generic self-referencing variant with simplified static factory methods and UXML factory support

Base property drawer combining Odin IMGUI embedding with UI Toolkit rendering

Quick Lookup

Goal
How

Create a custom editor

Subclass ParagonEditor<T>, add [CustomEditor(typeof(MyType))]

Create an IMGUI property drawer

Subclass ParagonDrawer<TProperty>, override DrawPropertyLayout()

Create a UI Toolkit property drawer

Subclass ParagonVisualElementDrawer<TProperty>, override OnCreateGUI()

Create a reusable visual element

Subclass ParagonVisualElement<T>, add [UxmlTemplate("Name")]

Bind a UXML template

Add [UxmlTemplate("TemplateName")] to the class

Query template elements

Use Q("elementName") or Q<Button>("elementName")

Toggle visibility

Call SetDisplay(true/false)

See Also

  • Paragon Editor — parent editor assembly

  • AttributesUxmlTemplateAttribute and DrawerIndentationAttribute

  • ExtensionsVisualElementExtensions (SetDisplay, CopyStyleSheets)

Last updated