addressables-design
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1
Create and lay out Unity UGUI screens
Claude Code
$ npx -y skills add Besty0728/Unity-Skills --skill ui --agent claude-code
Codex
$ npx skills add Besty0728/Unity-Skills --skill ui -a codex -y
Cursor
$ npx skills add Besty0728/Unity-Skills --skill ui -a cursor -y
Gemini CLI
$ npx skills add Besty0728/Unity-Skills --skill ui -a gemini-cli -y
GitHub Copilot
$ npx skills add Besty0728/Unity-Skills --skill ui -a github-copilot -y
OpenCode
$ npx skills add Besty0728/Unity-Skills --skill ui -a opencode -y
Windsurf
$ npx skills add Besty0728/Unity-Skills --skill ui -a windsurf -y
name: unity-ui description: Create and lay out Unity UGUI screens
Unity UGUI and Canvas workflows. This module is separate from UI Toolkit. Parameters come from the schema (`GET /skills/schema?names=<skill>&wire=v2`); execution and dryRun rules: root [SKILL.md](../../SKILL.md). Extended examples: [UI_REFERENCE.md](UI_REFERENCE.md).
| Skill | Purpose | |-------|---------| | [`ui_create_canvas`](reference/ui_create_canvas.md) | Create a Canvas | | [`ui_create_panel`](reference/ui_create_panel.md) | Create a panel container | | [`ui_create_button`](reference/ui_create_button.md) | Create a Button | | [`ui_create_text`](reference/ui_create_text.md) | Create a text label | | [`ui_create_image`](reference/ui_create_image.md) | Create an Image | | [`ui_create_inputfield`](reference/ui_create_inputfield.md) | Create an InputField | | [`ui_create_slider`](reference/ui_create_slider.md) | Create a Slider | | [`ui_create_toggle`](reference/ui_create_toggle.md) | Create a Toggle | | [`ui_create_dropdown`](reference/ui_create_dropdown.md) | Create a Dropdown | | [`ui_create_scrollview`](reference/ui_create_scrollview.md) | Create a ScrollRect hierarchy | | [`ui_create_rawimage`](reference/ui_create_rawimage.md) | Create a RawImage | | [`ui_create_scrollbar`](reference/ui_create_scrollbar.md) | Create a Scrollbar | | [`ui_create_batch`](reference/ui_create_batch.md) | Create several UI elements in one call | | [`ui_find_all`](reference/ui_find_all.md) | Find UI elements in the scene (read-only) | | [`ui_set_text`](reference/ui_set_text.md) | Update text content | | [`ui_set_rect`](reference/ui_set_rect.md) | Set RectTransform size, position and offsets | | [`ui_get_rect_transform`](reference/ui_get_rect_transform.md) | Read full RectTransform data | | [`ui_set_rect_transform`](reference/ui_set_rect_transform.md) | Set full RectTransform data | | [`ui_set_rect_transform_batch`](reference/ui_set_rect_transform_batch.md) | Set full RectTransform data for several elements | | [`ui_set_anchor`](reference/ui_set_anchor.md) | Apply an anchor preset | | [`ui_layout_children`](reference/ui_layout_children.md) | Lay out children vertically, horizontally or in a grid | | [`ui_align_selected`](reference/ui_align_selected.md) | Align the selected UI elements | | [`ui_distribute_selected`](reference/ui_distribute_selected.md) | Distribute the selected UI elements | | [`ui_set_image`](reference/ui_set_image.md) | Set Image type, fill and sprite | | [`ui_add_layout_element`](reference/ui_add_layout_element.md) | Add LayoutElement size constraints | | [`ui_add_canvas_group`](reference/ui_add_canvas_group.md) | Add a CanvasGroup | | [`ui_add_mask`](reference/ui_add_mask.md) | Add a Mask or RectMask2D | | [`ui_add_outline`](reference/ui_add_outline.md) | Add an Outline or Shadow effect | | [`ui_configure_selectable`](reference/ui_configure_selectable.md) | Configure transitions, navigation and colours |
1. Create a Canvas. 2. Group related controls in panels. 3. Create the controls with `ui_create_batch`. 4. Set anchors and layout groups before hand-placing children.
curl -s "http://localhost:<port>/skill/ui_create_canvas?expectProject=<project>" -d '{"name":"MainMenu"}'
curl -s "http://localhost:<port>/skill/ui_create_panel?expectProject=<project>" -d '{"name":"MenuPanel","parent":"MainMenu","a":0.65}'
curl -s "http://localhost:<port>/skill/ui_set_anchor?expectProject=<project>" -d '{"name":"MenuPanel","preset":"MiddleCenter"}'
curl -s "http://localhost:<port>/skill/ui_layout_children?expectProject=<project>" -d '{"name":"MenuPanel","layoutType":"Vertical","spacing":12}'Transport-level codes (COMPILING, RATE_LIMIT and others): [error codes](../../references/protocol-error-codes.md).
| Error | Trigger | Fix | |---|---|---| | `TARGET_NOT_FOUND` | The parent, UI element, RectTransform, text or image component, or sprite asset was not found. | Locate the element with `ui_find_all` or `gameobject_find`; check sprite paths with `asset_find`. | | `SEMANTIC_INVALID` | An unknown anchor preset, layout type or alignment, or a name with path separators. | Use a valid value from the error (for example `MiddleCenter`, `Vertical`, `TopLeft`) and retry. | | `SKILL_ERROR` | A selection-based operation had too few UI elements selected. | Select the required elements in the Hierarchy first. |
REST API-based AI-driven Unity Editor Automation Engine Let AI control Unity scenes directly through Skills 🎉 We are now indexed by DeepWiki! Got questions? Check out the AI-generated docs → The current official maintenance baseline is Unity 2022.3+.
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1
Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based)
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.