smithery/Dev-GOM

Unity UI Toolkit

Assists with Unity UI Toolkit development - UXML structure, USS styling, C# VisualElement manipulation, data binding, and custom controls. Use when implementing UI Toolkit interfaces.

Installation

$ npx skills add smithery/Dev-GOM --skill unity-ui-toolkit

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/Dev-GOM · top by installs.

npx skills add smithery/Dev-GOM

Browse all from smithery/Dev-GOM

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsRead, Write, Glob

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,879 B
  • docs SUMMARY.md 207 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Unity UI Toolkit

Assists with Unity UI Toolkit development including UXML markup, USS styling, C# VisualElement API, and modern UI patterns.

What This Skill Helps With

UXML Structure

  • Proper element hierarchy and naming conventions
  • Common controls: TextField, Button, Toggle, Slider, ObjectField, ListView
  • Layout containers: VisualElement, ScrollView, Foldout, TwoPaneSplitView
  • Data-driven UI with templates and bindings

USS Styling

  • Class-based styling and selectors
  • Flexbox layout (flex-direction, justify-content, align-items)
  • USS variables and dark theme optimization
  • Pseudo-classes (:hover, :active, :disabled)
  • Transitions and animations

C# VisualElement API

  • Query API: rootElement.Q<Button>("my-button")
  • Event handling: .clicked += and .RegisterValueChangedCallback()
  • Dynamic UI creation with constructors
  • Data binding with Bind() and SerializedObject

Best Practices

  • UXML for structure, USS for styling, C# for logic
  • Name elements for Query API access
  • Use classes for styling, not inline styles
  • Cache VisualElement references in fields
  • Proper event cleanup in OnDestroy()

Common Patterns

Editor Window Setup:

public void CreateGUI() {
    var visualTree = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("path/to.uxml");
    visualTree.CloneTree(rootVisualElement);

    var button = rootVisualElement.Q<Button>("my-button");
    button.clicked += OnButtonClick;
}

USS Class Toggle:

element.AddToClassList("active");
element.RemoveFromClassList("active");
element.ToggleInClassList("active");

Data Binding:

var so = new SerializedObject(target);
rootVisualElement.Bind(so);

Unity Version Requirements

  • Unity 2021.2+ for runtime UI Toolkit
  • Unity 2019.4+ for editor-only UI Toolkit (limited features)

See [ui-toolkit-reference.md](ui-toolkit-reference.md) for complete API documentation.

When to Use vs Other Components

Use this Skill when: Building UI Toolkit interfaces, writing UXML/USS, or manipulating VisualElements in C#

Use unity-ui-selector skill when: Choosing between UGUI and UI Toolkit for a project

Use @unity-scripter agent when: Implementing complex UI logic or custom VisualElement controls

Use EditorScriptUIToolkit templates when: Generating new UI Toolkit editor windows with UXML/USS files

Related Skills

  • unity-ui-selector: Helps choose between UGUI and UI Toolkit
  • unity-template-generator: Generates UI Toolkit editor script templates
  • unity-script-validator: Validates UI Toolkit code patterns