원클릭으로
unity-ui-toolkit
Unity UI Toolkit
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Unity UI Toolkit
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Unity ScriptableObject Architecture
Unity Shaders
Unity State Machines
Registers new C# files in resources/manifests/<system>.json (files array + tests.editmode/playmode list) and validates with just validate-registry. Use when creating any new script, adding a new game system, or fixing 'orphan file' CI failures. Trigger phrases: 'add to manifest', 'register file', 'new system', 'validate registry'. Key capabilities: exact JSON manifest format, ACTIVE/DEPRECATED/EXPERIMENTAL status, dependency declarations, test class name mapping for pre-push gating via resolve_module_tests.py. Do NOT use for modifying physics logic or editing game scripts unrelated to registration.
Unity Terrain & Track Creation for RC Racing
Unity Testing, Debugging & QA
| name | unity-ui-toolkit |
| description | Unity UI Toolkit |
Use this skill when building UI with Unity's UI Toolkit system, including UXML structure, USS styling, C# bindings, custom inspectors, or runtime game UI panels.
| Use Case | Recommended System |
|---|---|
| Menus, settings, HUD overlays | UI Toolkit — cleaner styling, better tooling |
| World-space UI (health bars above enemies) | UGUI — native 3D canvas support |
| Complex runtime animations on UI | UGUI — more mature DOTween/animation integration |
| Editor custom inspectors and windows | UI Toolkit — this is the primary target |
| Data-heavy lists (inventory, leaderboards) | UI Toolkit — virtualized ListView |
Attach to a GameObject to display UI Toolkit content at runtime:
Create via Assets > Create > UI Toolkit > Panel Settings Asset:
Multiple UIDocuments can share one PanelSettings (same render panel) or use separate ones (independent panels).
public class ThemeManager : MonoBehaviour
{
[SerializeField] private PanelSettings panelSettings;
[SerializeField] private ThemeStyleSheet lightTheme;
[SerializeField] private ThemeStyleSheet darkTheme;
public void SetDarkMode(bool dark)
{
panelSettings.themeStyleSheet = dark ? darkTheme : lightTheme;
}
}
Alternatively, swap USS variables at runtime:
// Override a custom property on the root
var root = uiDocument.rootVisualElement;
root.style.SetCustomProperty("--bg-primary", new StyleColor(Color.black));
// Experimental animation API
element.experimental.animation
.Start(new StyleValues { opacity = 0, top = -50 },
new StyleValues { opacity = 1, top = 0 },
300)
.Ease(Easing.OutCubic)
.OnCompleted(() => Debug.Log("Animation done"));
Open via Window > UI Toolkit > Debugger:
This is the most powerful tool for debugging layout issues. Use it before guessing at USS changes.