🤔

Choosing a type of editor extension#

Custom UI
Yes
No
Yes
No
Yes
No
Yes
No
No
Yes
Custom command
Yes
No
Yes
No
Yes
No
Do you want to create custom UI or a command?
Is the UI decorative,
and doesn't read/write property values?
Create a Property Decorator
Is the UI modifying a single field?
Create a Property Drawer
Is the UI modifying a grouped set of fields?
Is the UI modifying specific selected objects?
Does the UI require complex interconnected logic?
Create an Editor Window
Create a Custom Editor
Does the command require user-modified custom settings?
Does the command modify a single object at a time?
Create a Context Menu
Does the command target a single type of Object?
Create a Menu Item

Notes#

Even when creating a custom Editor you should consider using property drawers where possible, avoiding UI that doesn't use SerializedObject data.
PropertyField (UI ToolkitIMGUI) is the easiest way to draw a property in contexts like an Editor or EditorWindow, as it will respond to a property drawer without duplicated or embedded logic.