Skip to main content

Publishing a game

What happens between your ZIP and the feed: what a build may hold, which servers it may reach, the trailer, and review.

What a build may contain

A build is your web export, zipped: an index.html and the files it loads, unpacked. Only the file types below are published. Programs and scripts for a computer or a server, office documents and PDFs, and archives (a ZIP inside the ZIP) are refused whatever they are named, and so is a file with no extension.

KindExtensions
Pages and styles.css.htm.html
Code.js.mjs.wasm
Images and textures.avif.bmp.gif.hdr.ico.jpeg.jpg.ktx.ktx2.png.svg.webp
Audio.aac.flac.m4a.mp3.oga.ogg.opus.wav.weba
Video.m4v.mp4.ogv.webm
Fonts.eot.otf.ttf.woff.woff2
3D models.glb.gltf.mtl.obj.stl
Data, engine and texture files.arcd.arci.astc.atlas.babylon.basis.bin.bundle.bytes.cconb.csv.data.dbbin.dds.der.dmanifest.drc.env.exr.fbx.fnt.frag.fsh.glsl.hash.json.ksplat.map.mem.pck.pct.pem.pkm.plist.ply.projectc.pvr.skel.splat.spz.symbols.tga.tmj.tmx.tsj.tsx.txt.unity3d.unityweb.vert.vsh.webmanifest.wgsl.xml.yaml.yml

Any of these may be stored precompressed with one of .br or .gz added — game.wasm.br, game.data.gz — and is served with its own type. One suffix only, and only on a type above. Left out of every build wherever they sit, never uploaded or refused: .DS_Store, .gitattributes.

The portal reads your ZIP the moment you pick it and lists any file that would be refused, with the reason, before anything is uploaded. The upload checks again — including what some files contain — and has the final word.

Hosts your game reaches

A game runs under a network policy: it loads its code and frames only from its own build. If it needs data, images, sounds or fonts from another server — a leaderboard API, a CDN — list that server under External hosts when you submit, up to 10 of them, as https://host or https://host:port (https only, no paths or wildcards). A listed host may also be reached over wss://.

A moderator sees the list in review, and players' copies reach a host only once a version listing it is approved. Scripts, workers and frames never come from another server: put them in the build. Run game in the portal applies the same policy and lists anything it blocks.

The trailer

A trailer plays for up to 60 seconds. Upload a longer video if you like: the editor lets you choose which 60 seconds to keep, crops them to your game’s orientation and makes the file in your browser.

Review

Every game and every change is reviewed before players see it. An account can have a few games waiting for their first approval at once, in review or rejected; the portal says when you are at that limit, and a slot opens when one is approved or deleted.

A rejected game shows what to fix and the date it will be deleted unless you resubmit — a rejected change to a live game is discarded instead, and players keep the approved version. You get an email with the result, and a reminder before that date.

Publishing anything — a studio, a game, a comment — follows the Terms of Service, the Privacy Policy and the Community Guidelines. Ready? Submit a game.