Limits

The sizes and counts the platform enforces on uploads, declarations, saves, writes and reads.

Most limits exist so a game cannot slow down every other game on the platform. Every one is enforced at publish or at write time with a warning or a refusal that names the cap, never by silently dropping data.

Declarations

DeclarationCeilingNotes
Named leaderboardsup to 32 per gameYour game's own limit may be lower.
Achievementsup to 64 per gameYour game's own limit may be lower; Remix Desktop shows it on the Details page. Retired keys still count toward the 64.
Levels5 to 99A launched game's count can grow but not shrink.

A declaration past your game's limit is refused at publish with a warning naming the cap; the rest of the block still syncs.

Documents and Payloads

ItemLimit
Game document2 MB of HTML per uploaded version; keep media in assets/
Asset file5 MB each
Save slot document256 KiB of JSON; no cap on the number of slots
Cloud file1 MiB each, counted against the creator's shared storage allowance
Leaderboard scoresSafe integers only; overflow on incr and decr boards is refused
Achievement iconA PNG, JPEG or WebP under assets/; square reads best

Immutability

Once an upload has declared a key, these fields cannot change on it; a changed value is ignored with a warning:

  • Leaderboard sort, operator, reset

A launched game's lifecycle is locked too: later uploads cannot change its mode, and a level game's levelCount can only grow. Names, descriptions, metadata, icons and hidden can change on any later publish.

Time Windows

BehaviourWindow
Leaderboard submission id retries7 days
New records reaching the listRecords top pageabout 10 seconds

Rate Limits

  • HTTP API: 60-request bucket per key, refilling at one request per second.
  • Leaderboard reads: a game that polls its own boards is throttled and hears null. Read on a user action.
  • Writes: leaderboard records, achievement unlocks and saves are throttled per player and per game. A throttled write answers { ok: false, code: 'throttled' }, and its reason says when to retry.