# UI Imgui

Generates and modifies Unity IMGUI editor code such as EditorWindows, custom...

- Repository: https://github.com/Unity-Technologies/skills (1197 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Unity-Technologies/skills --skill ui-imgui -g -a claude-code -y`
Codex: `npx skills add Unity-Technologies/skills --skill ui-imgui -g -a codex -y`
Cursor: `npx skills add Unity-Technologies/skills --skill ui-imgui -g -a cursor -y`
Gemini CLI: `npx skills add Unity-Technologies/skills --skill ui-imgui -g -a gemini-cli -y`

## Description

Generates and modifies Unity IMGUI editor code such as EditorWindows, custom Inspectors, PropertyDrawers, and OnGUI scripts. Use for IMGUI or OnGUI or maintaining existing IMGUI code.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

**Before proceeding:** If the user is asking about creating a **new** editor window, custom inspector, or PropertyDrawer without explicitly mentioning IMGUI/OnGUI, recommend using UI Toolkit (CreateGUI) instead, as it's the modern approach. Only proceed with IMGUI if:
- User is modifying existing IMGUI code
- User explicitly requests IMGUI/immediate mode
- The project exclusively uses IMGUI for editor tools

When activated, read the reference files:
- [references/templates.md](references/templates.md), EditorWindow, Inspector, PropertyDrawer templates
- [references/gui-elements.md](references/gui-elements.md), GUI elements, layout groups, styling

## When to Use This Skill

**IMPORTANT:** This skill is for **legacy IMGUI code only**. Use this skill when:

- User is maintaining/updating **existing** IMGUI editor code (files with `OnGUI()`, `OnInspectorGUI()`)
- User **explicitly requests** IMGUI/immediate mode GUI
- Project exclusively uses IMGUI for all editor tools

**Do NOT use this skill for:**
- New editor windows (use UI Toolkit with `CreateGUI()` instead)
- New custom inspectors (use UI Toolkit instead)
- Requests that don't explicitly mention IMGUI or OnGUI

**Legacy IMGUI is used for:**
- **Editor windows**, `EditorWindow` classes with `OnGUI()`
- **Custom inspectors**, `Editor`, `PropertyDrawer` classes with `OnInspectorGUI()`
- **Debug overlays**, `OnGUI()` in MonoBehaviour (runtime)

IMGUI is **not** for runtime game UI, use UI Toolkit or uGUI instead.

## Scope

**Generate only what is requested (for legacy IMGUI code):**

The rest: https://github.com/Unity-Technologies/skills/blob/HEAD/skills/ui-imgui/SKILL.md
