loomgui.com ↗

Common problems

Start with Loom -> Doctor. If Doctor is green but the issue remains, use the symptoms below.

The Editor works, but the player build has no UI

The Editor uses the Vite dev server. Player builds load static files from StreamingAssets/Loom.

Check:

  • The player build ran the UI build hook.
  • Assets/StreamingAssets/Loom/index.html exists after the build.
  • npm run build succeeds in the UI directory.
  • CI has Node.js 20+ available to Unity.

The UI is blank on first Play

Check the Unity Console for dev server or bridge errors. Then run:

Loom -> Restart Dev Server

If you just upgraded Loom, restart Unity so the Editor loads the new platform plugin.

UI changes do not appear

For .tsx and .css edits, Vite should hot reload. If it does not:

  • Reload Play mode.
  • Run Loom -> Restart Dev Server.
  • Check DevTools Console for frontend errors.

For bridge changes, run Loom -> Regenerate Types, then restart the dev server.

A new bridge field is missing in TypeScript

Run:

Loom -> Regenerate Types

Make sure the bridge class is partial, inherits LoomBridgeBase, and the member is public.

The UI cannot call an action

Check:

  • The method is public and tagged [BridgeAction].
  • DTO parameter types follow DTO rules.
  • The UI types were regenerated after changing the method.

If the promise rejects, inspect both DevTools Console and the Unity Console.

Input does not reach the UI

Check that the scene was set up with:

Loom -> Setup UI in Current Scene

The active LoomView should have a LoomInputCapture component. Also check that only one Loom view is active and that the active URP renderer lists LoomRendererFeature in its Renderer Features.

npm install fails or hangs

Run npm in the UI directory from a terminal to see the raw error:

cd UI
npm install

Common causes are missing Node/npm, a corrupt node_modules folder, or a lockfile that no longer matches package.json.