Publish a Unity game
The default Unity WebGL build runs on ThrunGames as it is. You do not need to change any settings to make it work.
Export from Unity
- Open Build Settings and pick the WebGL platform.
- Build into an empty folder.
Unity writes an index.html and a Build folder (and usually TemplateData).
Compression
Leave compression on its default. Brotli and Gzip builds work as exported. ThrunGames serves the files under Build/ with the right Content-Encoding, so you do not need "Decompression fallback".
Threads
Game pages are cross-origin isolated, so SharedArrayBuffer and threads work.
Zip and upload
Zip the contents of the export folder, so that index.html is at the root of the zip. Do not zip the folder itself. If index.html ends up inside a folder, the upload fails and tells you so.
Your game has to exist before you upload. If you have not made it yet, sign in, open My games and choose "Add new game". (You need a developer account: see Become a developer.) Note the game's slug, the last part of its address.
Then upload with the ThrunGames CLI:
thrungames login
thrungames upload path/to/export-folder --game <your-game-slug> --version 1.0.0 --width 960 --height 600 --submit
--width and --height are the size of the game's play area in pixels on a Classic game page; an Immersive game fills the screen and ignores them.
The CLI zips the folder for you. You can also point upload at a .zip file you made yourself. Leave out --submit to keep the upload as a draft with a preview link. To skip the flags next time, put a game.json with name, version, width and height in the folder (see the CLI page).
The limits are 450 MB for the zip through the CLI (100 MB on the website), 500 MB unpacked, and 5000 files.
Engine and layout
ThrunGames detects the engine when you upload and sets it on your game if you have not set one. Unity WebGL builds suit the Immersive layout, which opens the game full screen. To change it later, use the game settings, or:
thrungames games edit <game> --engine unity
thrungames games edit <game> --layout immersive