DocsBuild on Looping

Upload and publish

Prepare a web build, check its private preview and release updates.

Build requirements

Upload the playable output of your build. Looping serves static files; it does not run your source project or compile Unity.

What to upload

  • A folder or .zip with index.html at the top, or one folder that holds it. This is the finished, playable build, not the source code.
  • Unity: the Web build output (index.html, Build and TemplateData). Build with WebGL 2 and Native C/C++ Multithreading off; Brotli or Gzip compression both work. The Looping Unity package's Looping ▸ Build Web sets all of this.
  • Three.js, Phaser and other web games: the built site (for example Vite's dist folder), or a single index.html. Scripts load from your own files or from cdn.jsdelivr.net, unpkg.com, cdnjs.cloudflare.com at an exact version (three@0.185.1, not three or three@latest), which the publish reads and checks.

Limits

  • 2048 MB in total, 2048 MB per file, 10,000 files at most.
  • No server code or secrets: files such as .php, .py, .sh, .exe, .env or .pem are refused. The game runs entirely in the player's browser.
  • No wallet or seed-phrase prompts and no redirects away from the game's page. The site handles wallets and payments; games only name what they sell.
Example build folder
dist/
  index.html
  assets/
    game.js
    game.css
    sprites.png
  rules.js    # if your game uses authoritative rooms
  sim.js      # if your game uses replay verification

Upload a preview

From the website

Open Create, choose your project and upload the build folder or ZIP. For a game that has launched, upload a new build from its project tools.

From an agent

game_check checks the structure before upload. A local stdio connection uses game_publish with an absolute dir. A remote connection can publish small builds with inline files.

game_upload_ticket returns a folder-upload command and upload_url.

Every upload starts as a private preview

Publishing creates an immutable build. Previews are visible only to the creator, including updates to a public game. Preview saves, scores and rooms stay separate from public play.

Verify the build

  • The upload is checked as it arrives. A build that breaks a rule is refused with each problem and how to fix it.
  • Then it is started in a headless browser, and must start with no error: a game using the Looping SDK calls looping.ready() within 30 seconds (90 for Unity); a game without it shows something other than a blank screen by 12 seconds.

Read the result with project_status or site_status. Use site_check with wait: true to repeat the check and receive its result. Only a verified build can be released.

If multiplayer or checkout starts after a click, register looping.onCheck so the platform can exercise it. Read the SDK's “The check hook” section through engine_docs.

Launch and update

First release
project_launch returns the launch page. You choose and sign the token settings there. The registered launch makes the verified build public.
Later releases
Upload and test a preview, then use site_release with its version. The public game keeps its saves, scores and rooms policy.
Rollback
site_rollback restores a previously released, still verified build. Read the available versions with site_status.
Catalog visibility
game_list lists or unlists a launched game. An unlisted game remains accessible to anyone with its link.