What is Loom
Loom lets you build Unity game UI with HTML, CSS, and JavaScript instead of UI Toolkit’s USS dialect or uGUI’s prefab graph. The UI runs in a Rust-native GPU render engine embedded in your game. Your C# code drives it through a typed bridge that’s generated automatically from your bridge class.
What you get
- A Unity package (
com.loomgui) with the C# runtime, native render engine, source generator, and the Editor menu that handles the install loop. - Two npm packages (
@loomgui/bridge,@loomgui/vite-plugin) that you install into your UI project. Both are bundled inside the Unity package; one Editor menu (Loom -> Sync UI Dependencies) installs them locally, so you don’t need npm registry access. - A typed bridge that maps your C# class to a TypeScript surface. State, actions, and events all cross the wire with full type information on both sides.
Who it’s for
Game developers shipping on Unity who want their UI to use the same toolchain as the rest of the web (modern CSS, hot reload, mockable state, a real JS component framework) and don’t want to write their own engine binding to get there.
What Loom is not
- Not a general-purpose web view. Loom is a UI framework. It does not load arbitrary URLs, run user-supplied JS in a sandbox, or provide a browser Chrome.
- Not multi-engine yet. Unity is supported; Unreal and Godot are on the roadmap. The native plugin and bridge are designed to be engine-neutral, but no other engine integration ships today.
- Not free. Loom is a commercial product. See Buy.
Next steps
- Install: drop the package into a project.
- How it works: the architecture in one page.
- Run the sample: open the bundled sample project and walk through the four screens.