You built your game in Unity, hit Build — WebGL, and now you’re staring at a folder with an index.html, a Build/ directory full of .wasm and .data files, and a TemplateData/ folder. Open the HTML locally and… it usually won’t run. Unity’s WebGL build has to be served over HTTP with the right headers — you can’t just double-click it. So how do you get it to a public, playable link people can actually open?
This guide covers getting a Unity WebGL build live in the browser on Rosebud — and a second option if you’d rather rebuild lighter and AI-native.
Why a Unity WebGL build doesn’t “just open”
A WebGL export isn’t a single file — it’s a small website. The browser loads a loader script, streams the WebAssembly, and pulls in your compressed data files. For that to work, the files must be served, not opened from disk, and the server has to send correct MIME types and (for Brotli/Gzip-compressed builds) the right Content-Encoding headers. That’s why file:// fails and why localhost works only on your machine. To share it, the build needs a real host configured for WebGL.
What you’re working with
index.html— the page that boots the player.Build/— the loader JS, the WebAssembly, and your compressed asset data.TemplateData/— styling and loading-screen assets.
Keep that folder structure intact — the loader expects those exact relative paths.
Path 1: Submit your WebGL build and get it hosted
This is the direct route for a compiled Unity game. Fill out the form with your WebGL build — zip the whole output folder, structure intact — and we’ll host it at a shareable, browser-playable link with the headers and compression handled for you. No more hunting through host docs for how to set Content-Encoding: br on a static bucket, and no “the loading bar fills and then nothing happens” debugging. You send the build; you get a link.
Path 2: Rebuild it browser-native with Rosie
Unity WebGL builds are powerful but heavy — multi-megabyte downloads, long first loads, and shaky performance on mobile browsers. If your game’s core is simple enough, porting it to a lightweight Three.js build can mean instant loads and smooth play on any device. Rosebud is the place to do that:
- Open Rosebud and create a project, then add a code file.
- Describe or paste your game’s logic — your mechanics, rules, and systems. (You can copy the relevant C# logic as a reference for the behavior you want.)
- Prompt Rosie to reformat it for Three.js: “Rebuild this game to run on Three.js in the browser. Recreate these mechanics natively, set up scene, camera, lighting, and a render loop, and wire up input.”
- Iterate by prompting until it feels right — then publish in one click for a fast, mobile-friendly playable link.
Think of Path 2 as porting the design, not the binary — trading Unity’s engine weight for a web-native build you can keep evolving in plain English.
Common gotchas with Unity WebGL on the web
- Compression headers. Brotli/Gzip builds need matching
Content-Encoding, or you’ll get a stalled loader. A WebGL-aware host handles this. - Mobile. Unity WebGL is notoriously rough on phones; a Three.js port is usually far friendlier.
- Build size. Strip unused assets and enable compression to cut load times — or rebuild lighter.
- Don’t rename the folders. The loader references
Build/andTemplateData/by relative path.
Frequently asked questions
Can I host a Unity WebGL game without configuring a server?
Yes — submit the build through the form and we’ll host it with the correct headers and compression, so you skip the server setup.
Why does my WebGL build fail when I open the HTML directly?
WebGL builds must be served over HTTP, not opened from file://. That’s a hosting requirement, not a bug in your game.
Should I rebuild in Three.js or just host the WebGL build?
If you want it live fast and unchanged, host the build. If you want faster loads, better mobile performance, and AI-native iteration, port it to Three.js with Rosie.
Is it free to try?
Yes — you can build and publish on Rosebud for free.
Get your Unity WebGL game to a playable link
Two ways to go live, and you can do both:
- Fill out the form with your game. Send us your WebGL build with this short form and we’ll host it at a real, shareable playable link — headers and compression handled, no server to babysit.
- Try it yourself on Rosebud. Open Rosebud, create a code file, bring in your game, and ask Rosie to reformat it for Three.js. A few prompts later you’ll have a lightweight, browser-native build you can publish with one click.
New to this? Start with the overview: How to put your vibe-coded game on the web.





