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 is a normal Vite + Solid app, and your C# code drives it through a typed bridge generated from a plain C# class.
What you get
- A Unity package (
onl.snack.loom) with the C# runtime, source generator, platform plugin, and Editor menus that handle setup. - Bundled UI packages (
@loomgui/bridgeand@loomgui/vite-plugin) that are installed into your UI app withLoom -> Sync UI Dependencies. - A typed bridge between C# and the UI. C# exposes state, actions, and events; the UI consumes generated TypeScript types.
- A sample project that shows startup, screen routing, state updates, actions, events, mock mode, and player builds.
Who it’s for
Loom fits Unity teams that want web-quality UI iteration, layout, typography, and animation inside their game. It works especially well when:
- Your UI team is already comfortable with HTML, CSS, and TypeScript.
- You want hot reload and browser devtools while the game is running.
- You need complex menus, HUDs, overlays, data views, or live-ops surfaces.
- You want a clean contract between gameplay code and UI code.
What Loom is not
- A replacement for Unity rendering, scene UI, or world-space interaction.
- A general embedded browser API for arbitrary public websites.
- A no-code UI builder.
Next steps
- Check Supported platforms.
- Read How Loom fits if you want the project shape before installing.
- Follow Install Loom or Run the sample.