Unity UI System Selector
Helps you choose the appropriate UI system for your Unity project and provides implementation guidance for both UGUI and UI Toolkit.
Two UI Systems
UGUI (Legacy) - GameObject-based (2014). Mature, works on all Unity versions, large community. Weaker: Complex UI performance, limited styling, no live reload.
UI Toolkit (Modern) - Retained mode, web-inspired UXML/USS (2021.2+). Better performance, live reload, data-binding. Weaker: Requires 2021.2+, smaller community, limited 3D world-space UI.
Decision Framework
Use UGUI if:
- Unity < 2021.2
- Simple UI (menus, HUD)
- 3D world-space UI needed
- Team knows UGUI well / tight deadline
- Legacy project
Use UI Toolkit if:
- Unity 2021.2+ and new project (future-proof)
- Complex/data-driven UI (inventory, skill trees)
- Editor tools (inspectors, windows) - strongly recommended
- Web dev background (HTML/CSS)
- Large-scale UI (MMO, strategy games)
When in doubt: For new projects on Unity 2021.2+, UI Toolkit is recommended.
Comparison
| Feature |
UGUI |
UI Toolkit |
| Version |
4.6+ |
2021.2+ |
| Performance |
Simple UIs |
All UIs |
| Styling |
Inspector |
CSS-like USS |
| Layout |
Manual/Groups |
Flexbox-like |
| Editor Tools |
Good |
Excellent |
| Runtime UI |
Excellent |
Good |
| 3D World UI |
Excellent |
Limited |
Migration
See migration-guide.md for UGUI → UI Toolkit migration strategy (3-4 months for medium projects).
UI System Support Matrix
| Unity Version |
UGUI |
UI Toolkit (Editor) |
UI Toolkit (Runtime) |
| 2019.4 LTS |
✅ Full |
✅ Basic |
❌ No |
| 2020.3 LTS |
✅ Full |
✅ Good |
⚠️ Experimental |
| 2021.3 LTS |
✅ Full |
✅ Excellent |
✅ Production |
| 2022.3 LTS+ |
✅ Full |
✅ Primary |
✅ Full |
When to Use vs Other Components
Use this Skill when: Choosing between UGUI and UI Toolkit, understanding UI system trade-offs, or planning UI migration
Use @unity-scripter agent when: Implementing UI components, writing custom UI scripts, or converting UI code
Use @unity-architect agent when: Designing complex UI architecture, planning UI data flow, or structuring large-scale UI systems
Use /unity:new-script command when: Generating Editor scripts with UI Toolkit or UGUI templates
Related Skills
- unity-uitoolkit: Assists with UI Toolkit implementation (UXML, USS, VisualElement API)
- unity-template-generator: Generates Editor scripts using selected UI system
- unity-script-validator: Validates UI code patterns