📈 GH Trending Explorer 🎲 Surprise me

← all repos

ruccho / YAUI

git clone https://github.com/ruccho/YAUI.git v0.3.1 · 20d ago

Yet Another Unity UI: a fast, Flexbox-based UI system on GameObjects.

+0
stars, 24h · #31,384
+~0
stars, 7 days · #31,859
+96
stars, 30 days · #4,993
96
★ total
4
forks · 1 open issues

Star history (as recorded here)

2026-10-20 · 96 ★ 2026-10-22 · 96 ★
LanguageC#
LicenseMIT
Created2026-09-25 (26d ago)
Last push20d ago
Watchers2
OwnerUser

Links

README excerpt
YAUI 
Yet Another Unity UI: a fast, Flexbox-based UI system for Unity, built on GameObjects.
English | 日本語
## Why YAUI?
Unity's uGUI works with Prefabs, Animator and the Inspector, but is slow: meshes are rebuilt and batched on the main thread, layout groups are expensive, and custom shaders break batching. UI Toolkit is fast, but it is separate from GameObjects.
YAUI keeps the GameObject authoring model and drops compatibility with uGUI to get the performance of a modern UI engine.
 Battle HUD : hundreds of damage numbers, world space nameplates, particles and custom shaders. 
 Dashboard : a scrolling table of 240 rows, charts, and working controls. 
 Inventory : a grid of 352 slots with icons packed into the dynamic atlas. 
 Shop : a banner cut to a slanted shape by a mask, gradients and a reward track. 
Each screen shows its own counts of quads, elements and draw calls, as measured in the editor.
### Fast
Every box, image and glyph is a quad in a GPU buffer, drawn in **one draw call per panel**. Rounded corners, borders, drop shadows and SDF text are all drawn by one uber shader, without breaking the batch. Text generation and layout run as **jobs on worker threads**, and a frame without changes costs almost nothing.
The same screens built with YAUI, uGUI and UI Toolkit, measured on a Pixel 5. YAUI has the lowest main thread cost in most scenarios; its GPU cost is about the same as uGUI's to 1.5 times. See the benchmarks for the details.
### Advanced layouts
**Flexbox** layout with a port of Yoga, computed with Burst. Boxes with a fixed size are **layout boundaries**, so a change only lays out the part of the tree it affects.
### GameObject-based
Elements are components on GameObjects: use **Prefabs, Animator, Timeline and the Inspector** as usual. Input goes through the **EventSystem**, and panels can be drawn over the screen or in **world space**.
> [!NOTE]
> YAUI is **experimental**. Breaking changes can be made before the first stable release.
## Requirements
- Unity 6000.3 (Unity 6.3) or later
- Universal Render Pipeline (URP)
- Vulkan, Metal or Direct3D 11 / 12 (OpenGL ES is not supported)
## Installation
Open the Package Manager, choose **Install package from git URL...** and enter:
 [code] 
## Documentation
### See the documentation for the manual and the API reference.
## License
MIT. The flex layout engine is based on the C# port of Yoga in Microsoft.UI.Reactor; see Third Party Notices.