Skip to content

Repository files navigation

Jam — Unity WebGL AI Game Studio

Hosted workspace where Cursor agents write Unity games, gpt-image-2 + Tripo3D generate art, and GLBs hot-swap into a live WebGL preview via postMessage.

Unity runs on URP — glTFast cannot generate materials for hot-swapped GLBs on the built-in pipeline.

Default engine is Unity. Set JAM_ENGINE=godot only to roll back to the legacy Godot template.

Monorepo

apps/web              Next.js UI + API (SSE agent relay)
apps/worker           pg-boss jobs (Tripo / build ingest)
apps/mcp              HTTP MCP server for asset search/placement
apps/buildworker      Docker image (Godot legacy; Unity Pro CI later)
apps/desktop          Tauri shell + local @cursor/sdk bridge
packages/core         Cursor / Tripo / OpenAI / GitHub / R2 clients
packages/db           Drizzle schema
templates/unity-game  Forked per project (JamBridge + WebGL template)
templates/godot-game  Legacy template (opt-in via JAM_ENGINE=godot)

Quick start (UI)

npm install
npm run dev
# → http://localhost:3100

Preview stays empty until you export WebGL once (Personal):

  1. Install Unity Hub + Unity 6000.0.47f1 with WebGL Build Support
  2. Open templates/unity-game in the Hub
  3. Follow templates/unity-game/README.md
  4. Set JAM_UNITY_EDITOR in apps/web/.env.local to your Editor binary
  5. Restart npm run dev and send a prompt (or re-run the batchmode build)

Full stack

docker compose up -d postgres
cp .env.example .env
# fill CURSOR_API_KEY, JAM_UNITY_EDITOR, …

export DATABASE_URL=postgres://jam:jam@localhost:5432/jam
npm run db:generate

npm run dev          # web :3100
npm run dev:worker   # background jobs
npm run dev:mcp      # asset MCP :3200

Desktop

See apps/desktop/README.md.

About

Prototype Game Studio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages