skills/unity-app-ui/SKILL.md
Expert assistant for developing UI in Unity using App UI framework. Use when creating components, styling, MVVM architecture, navigation, or any UI-related tasks. Trigger this skill whenever the user mentions App UI, Unity UI Toolkit components like Panel/Button/TextField, UXML layouts with appui namespace, USS styling with appui variables, overlays (popover, modal, toast, menu), or building any Unity user interface. Also trigger when the user asks to create a form, dialog, settings screen, dashboard, or any visual component in Unity.
npx skillsauth add cuozg/oh-my-skills unity-app-uiInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Expert assistant for building user interfaces in Unity using the App UI framework.
App UI is Unity's comprehensive framework for building beautiful, high-performance user interfaces. It supports multi-platform development (Android, iOS, Windows, macOS, WebGL) and is built on UI Toolkit.
using Unity.AppUI.UI;
<UXML xmlns="UnityEngine.UIElements" xmlns:appui="Unity.AppUI.UI">
<appui:Panel>
<!-- Your UI elements -->
</appui:Panel>
</UXML>
The Panel component is mandatory -- it provides context (theme, language, layout direction) and the layering system for overlays. Without Panel as the root, contexts and overlays will not work.
<appui:Panel>
<appui:Button title="Hello World!" />
</appui:Panel>
Reference a theme in your PanelSettings:
Packages/com.unity.dt.app-ui/PackageResources/Styles/Themes/App UI.tssButtons and Actions:
<appui:Button title="Click me" />
<appui:IconButton icon="add" />
<appui:ActionButton icon="edit" label="Edit" />
Always use clickable for events (not ClickEvent):
button.clickable.clicked += () => Debug.Log("Clicked");
Input Components:
<appui:TextField />
<appui:TextArea />
<appui:Checkbox />
<appui:Toggle />
<appui:Dropdown />
<appui:SliderFloat low-value="0" high-value="100" />
Layout Components:
<appui:StackView />
<appui:SwipeView />
<appui:PageView />
<appui:SplitView direction="Horizontal" />
// Popover
var popover = Popover.Build(target, content)
.SetPlacement(PopoverPlacement.Bottom)
.SetArrowVisible(true);
popover.Show();
// Modal
var modal = Modal.Build(content)
.SetFullScreenMode(ModalFullScreenMode.None);
modal.Show();
// Toast
var toast = Toast.Build(panel, "Message", NotificationDuration.Short);
toast.Show();
// Menu
MenuBuilder.Build(anchor)
.AddAction(1, "Item", "icon", evt => Debug.Log("clicked"))
.Show();
var ctx = element.GetContext<LangContext>();
var text = await ctx.GetLocalizedStringAsync("@tableName:entryKey");
Packages/com.unity.dt.app-ui/PackageResources/Styles/Themes/Packages/com.unity.dt.app-ui/PackageResources/Icons/Packages/com.unity.dt.app-ui/PackageResources/Fonts/Consult reference.md when you need exact API signatures, component property tables, context system details, or platform integration methods beyond what's covered above. See examples/ for complete working code samples.
This skill covers App UI fundamentals -- components, overlays, and general patterns. For tasks that go deeper into specific areas, also consult the corresponding specialized skill:
tools
Generate Unity raster image assets through Unity MCP: game sprites, item art, backgrounds, UI icons, portraits, concept images, transparent cutouts, image edits, upscales, background removal, and Unity scene or Game View screenshots. Use when a Unity project needs image files imported under Assets or screenshots captured from the editor. Do not use for meshes, audio, animation, materials, gameplay code, UI Toolkit layout, or generic non-Unity image generation.
tools
Create Unity technical solution documents from user requirements, feature ideas, bug goals, specs, or codebase problems. Use when the user asks for a technical approach, architecture, implementation strategy, solution options, feasibility analysis, system design, or "how should we build/fix this" for Unity runtime, Editor, tools, assets, data, UI, WebGL, SDKs, or production pipelines.
tools
Orchestrate Unity Editor via MCP (Model Context Protocol) tools and resources. Use when working with Unity projects through MCP for Unity - creating/modifying GameObjects, editing scripts, managing scenes, running tests, or any Unity Editor automation. Provides best practices, tool schemas, and workflow patterns for effective Unity-MCP integration.
development
Convert a spec document into an implementation TODO list in the same spec folder. U se when the user says goal-todo, todo from spec, generate tasks from spec, turn this spec into todos, create implementation checklist, extract tasks, or asks to read a Docs/Specs design doc and produce what must be implemented. Includes UI/UX review and codebase investigation before writing the checklist. Do not use for implementing the tasks, creating new goal files, writing test cases, or verifying completed work.