Publishing
What happens to an upload before it goes live, how versions and launches work, and how to keep the checks green.
Publishing has two halves. An upload creates a version and resets its checks. A launch makes a checked version the live one. Uploads are cheap and frequent; launching is a deliberate step you take after playing the version yourself.
What an Upload Does
Remix Desktop and the CLI publish a project folder in five steps. An upload through the HTTP API sends a finished document and starts at step 3:
- Compile. A project with
game-main.tsis compiled into one HTML document. Imports ofthreeand@remix-gg/threeare mapped to the pinned browser engine; nothing is inlined. A single-file game is taken as is. - Host assets. Every literal
assets/<path>reference in the built code is uploaded and rewritten to its hosted URL. Achievement icons declared inremix.jsonare hosted the same way. - Inject the SDK. The platform adds the Remix SDK script tag, or replaces the one the document already has. The Studio on remix.gg saves a pasted document as written, so a game made there includes the tag itself. Never bundle a second copy into your code: two copies run the handshake twice.
- Sync declarations.
leaderboardsandachievementsfromremix.jsonare created or updated on the platform right away, so they apply to a live game before you launch the new version. The response lists what was created, what changed and any warnings. - Reset checks. Every upload clears the version's checks. The automated review runs again when you launch it.
Uploads overwrite the latest unpublished version. If the latest version has been launched, the upload creates a new draft instead.
Declaration Warnings
Boards and achievements are declared once. A board's sort, operator and reset are fixed by the first upload that declares it: changing one of those on a later upload is ignored with a warning, and the name and metadata still update. An achievement's name, description, icon and hidden can change on any upload. Declaring more than your game's limit is refused with a warning naming the cap. Read the warnings in the publish output.
Launching
Launch a version from the game page in the Studio, from Remix Desktop, or with remix publish --launch. The version must pass an automated review, which runs as part of the launch. The Studio and Remix Desktop also ask for a name and an icon, and Remix Desktop asks for a gameplay trailer for each platform you choose. Launching sets the version live on every surface at once. Play it first: passing review does not make a game fun.
Level games lock their mode on first launch. The level count can grow on later versions but cannot shrink.
Where a Game Appears
Which surfaces list a game follows its presentation in remix.json, or the platforms you choose when you launch from Remix Desktop. Mobile games are everywhere. Desktop games are listed on Remix Desktop and wide web windows, and phones show a preview with the trailer and creator details instead of booting the game.
Keeping the Checks Green
- Call
ready()before the first run andgameOverexactly once per run. Open-ended games never callgameOver. - Reset on
playwithout reloading the page. - Reference media with literal
assets/paths. - Keep the document self-contained. Fetching game code from a third-party host at runtime can fail the automated review.
- Load the SDK once, and never bundle a copy into your code.
See Launch Checklist for the full list.