mcpField
U
Unity UI Toolkit

Unity UI Toolkit

github.com/dev-gomDevelopment9794 installsUpdated 41w ago
Repository

About Unity UI Toolkit

Unity UI Toolkit is a skill for developing Unity interfaces with UXML, USS, and the C# VisualElement API. It covers markup, styling, events, data binding, and common practices for runtime and editor UI work.

Key features

  1. 01UXML hierarchy and common controls
  2. 02USS styling, layout, and themes
  3. 03C# VisualElement queries and events
  4. 04Dynamic UI and data binding patterns
  5. 05Editor and runtime UI guidance

Use cases

  1. 01Building a UI Toolkit interface
  2. 02Styling controls with USS
  3. 03Connecting UI events in C#
  4. 04Binding UI to serialized data

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/dev-gom/claude-code-marketplace --skill unity-ui-toolkit

After installing, type/unity-ui-toolkitin Claude Code to confirm it loaded.

Bundled filesui-toolkit-reference.md

Details

From the project README

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 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

Comments

Markdown supported