unity-editor-imgui-design

Design Unity Editor IMGUI interfaces for EditorWindow, Custom Inspector, and Property Drawer tooling.

32|6|Updated Sep 6, 2025
One-click install
npx skills add https://github.com/akiojin/unity-mcp-server --skill unity-editor-imgui-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-editor-imgui-design
Source: https://github.com/akiojin/unity-mcp-server/tree/main/.claude/skills/unity-editor-imgui-design
Command: npx skills add https://github.com/akiojin/unity-mcp-server --skill unity-editor-imgui-design

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill delivers guidance for creating Unity Editor tools using IMGUI (EditorWindow, Custom Inspector, Property Drawer). It emphasizes best practices for editor tooling while distinguishing Editor-only IMGUI from in-game UI.

Core Features & Use Cases

  • EditorWindow & Inspector tooling: Build panels, custom inspectors, and property drawers.
  • MCP Editor patterns: Introduce tool patterns for consistent, testable editor extensions.
  • Best practices: Undo support, multi-object editing, and safe editor workflows.

Quick Start

Create a simple EditorWindow class and extend it with a custom inspector snippet to illustrate the workflow.

Frequently Asked Questions about unity-editor-imgui-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a custom Inspector in Unity Editor using IMGUI?

Custom Inspectors in Unity Editor IMGUI are created by extending Editor classes and implementing OnGUI methods to design property layouts. Use EditorGUILayout for automatic spacing, EditorGUI for low-level control, and the CustomEditor attribute to bind your Inspector to a specific component type, enabling multi-object editing and undo support within editor workflows.

What's the difference between EditorWindow and in-game UI in Unity?

EditorWindow creates panels and tools that run only in the Unity Editor using IMGUI and UnityEditor APIs, while in-game UI uses Canvas and uGUI for runtime gameplay. Editor IMGUI is designed for developer tools, asset management, and custom inspectors—not player-facing interfaces—and operates through editor-only lifecycle events like OnGUI and Repaint.

How do I handle layout and repaint events in Unity Editor IMGUI?

Unity Editor IMGUI uses Layout and Repaint event types within OnGUI callbacks to manage rendering efficiency. Layout events calculate control sizes and positions, while Repaint events draw the interface. Proper handling prevents layout exceptions and ensures responsive editor tools; use EditorGUILayout for automatic layout or manual Rect calculations for custom control placement.

Can I implement undo/redo functionality in custom editor tools?

Yes, Unity Editor IMGUI supports undo/redo through Undo.RecordObject and EditorUtility.SetDirty for asset modifications. Wrap property changes in Undo.BeginChangeCheck and Undo.EndChangeCheck blocks to track changes, enabling users to undo editor tool actions and maintain safe, predictable editor workflows for custom inspectors and property drawers.

What are Property Drawers and when should I use them?

Property Drawers customize how individual serialized fields render in the Inspector using IMGUI. Use them to create specialized controls for specific field types, add validation, or combine multiple properties into a single visual unit. They integrate seamlessly with EditorGUI and support both custom classes and built-in types, extending inspector functionality without full custom Inspector classes.

Related Skills