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. Your 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 from your code, not configured by hand.
What you get
- A Unity package (
com.loomgui) containing the C# runtime, native render engine, source generator, and an Editor menu for the install loop. - Two npm packages (
@loomgui/bridge,@loomgui/vite-plugin) that you install into your UI project. Bundled inside the Unity package; one Editor menu (Loom → Sync UI Dependencies) installs them locally — no public registry required. - 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 the rest of the web does — modern CSS, hot reload, mockable state, a real JS component framework — without writing their own engine binding.
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 — clone the repo and walk through the four sample screens.