Upload limits and file types
Limits are enforced twice — in the browser and again in the upload worker — and the two do not agree for media. This page is the authoritative table.
Open Appsinity StudioSize ceilings
| Category | Client (browser) | Worker (authoritative) |
|---|---|---|
game-build | 5 GiB | 5 GiB |
game-web | 5 GiB total for the folder, 5 GiB per file | 5 GiB per file — no folder total |
app-file | 5 GiB | 5 GiB |
app-media | 5 GiB | 250 MiB |
Plans do not change the ceiling
FREE_MAX_FILE_SIZE and STARTER_MAX_FILE_SIZE are both 5 GiB, so the plan check in the uploader is currently inert: a paid plan buys no extra headroom on a single file. Studio's own comment still describes "1 GB free / 5 GB Starter", and a dashboard error reads File is larger than your … upload limit. — but the enforced number is 5 GiB either way.
Allowed extensions
For builds, app files and web zips the allowlist is:
- Media slots are narrower: PNG, JPEG, WebP, MP4 — anything else returns App media must be an image or MP4 video.
- Web-game folders skip the allowlist entirely and are checked only against the denylist, so
.css,.svg,.ttf,.woff2and.unitywebare accepted. - Double extensions such as
.js.brand.data.gzare reduced to the final extension before the test. - File names are normalised with NFKD, every character outside
[\w.-]becomes_, and names are truncated hard at 140 characters.
.apk .aab .zip .html .js .wasm .data .json .png .jpg .jpeg .webp .mp4.gif, .svg, .ico, .webm, .mp3, .otf — that the build allowlist will reject. Do not infer from "it picked a content type" that the file is uploadable.The denylist
These are refused everywhere, in every category, including inside a web-game folder:
- The message is Blocked file type: <ext> in the browser and Blocked file extension: <ext> in the worker; for folder contents, Blocked file type in web game folder: <ext>.
.exeand.msiare blocked, which is why a Windows build must travel as a.zip— see Windows builds..ipaand.xapkare blocked, so there is no iOS route and no sideload-bundle route..raris blocked: always use.zip.
.php .exe .sh .bat .cmd .ps1 .msi .dmg .jar .com .scr .vbs .app .xapk .ipa .rarWeb-game folder rules
The folder picker enforces three extra checks on top of extension rules:
| Check | Message |
|---|---|
| The picker expects an exported web build, not a stray file | Choose your exported web game folder. |
index.html must be in the folder | Web game folder must include index.html. |
| No path may escape the folder root | Web game contains an unsafe file path. |
| Cumulative size must remain under 5 GiB | Web game is too large (X). Max 5.00 GB. |
Build/ and TemplateData/ directories lands intact. The served root is storage.appsinity.com/public/games/{gameId}/web/{version}/.Frequently asked questions
Why did my 1.2 GB game fail when the label said 1 GB free?
It should not have: 5 GiB is enforced in both layers today. The failure text quotes a plan ceiling that no longer exists in code, so read the byte count in the message, not the sentence.
Is there a per-project storage quota?
None is enforced in the upload path. The only ceilings are per file and, in the browser only, per web-game folder.
Can I upload a .zip of .apk files?
Technically yes, and it is a mistake — the store's download chain looks for a package, not an archive, and nothing will unpack it for an Android player.
Developer publishing support: [email protected]
General support: [email protected]
Partnerships: [email protected]
APPSINITY