Godot games
A Godot 4 game exported for the web runs on KUMODeck. Export it, put the folder on KUMODeck, and open the link.
1. Export for the web#
- In Godot, open Editor › Manage Export Templates and download the templates for your Godot version (once).
- Open Project › Export…, press Add… and pick Web.
- Set Export Path to
index.htmlin an empty folder. The link opensindex.html, so the name matters. - Leave Thread Support off unless your game needs threads (see below). Off is the default.
- Press Export Project and leave Export With Debug off.
The folder looks like this:
index.html
index.js
index.wasm
index.pck
index.audio.worklet.js
index.audio.position.worklet.js
index.png, index.icon.png, index.apple-touch-icon.png2. Put the folder on KUMODeck#
Pick one:
- Ask your AI: "Publish my Godot game in this folder with KUMODeck." The engine file (
index.wasm) is about 40 MB, more than an AI can send in a message, so your AI gives you a link to an upload page. Drop the folder (or a zip of it) there. - From a terminal:
kumodeck deploy path/to/the/folder(add--env productionto put it on the public version).
It goes on the test version first. Open the link it gives you and play.
Thread Support#
With Thread Support on, the game uses SharedArrayBuffer, which browsers allow only when the page sends two extra headers.
Put a file named _headers (no extension) next to index.html before you upload:
/*
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corpWithout this file, a game exported with Thread Support stops at the start with "The following features required to run Godot projects on the Web are missing: Cross-Origin Isolation … SharedArrayBuffer". With these headers, images or scripts from other sites load only if those sites allow it. With Thread Support off, you need neither.
Use the _headers file rather than Godot's Progressive Web App › Ensure Cross Origin Isolation Headers option.
If something goes wrong#
| What you see | What to do |
|---|---|
| The link shows "404" | The export is not named index.html. Export again with Export Path index.html, or rename the .html file only (keep the other names). |
| "Cross-Origin Isolation … SharedArrayBuffer" is missing | Add the _headers file above, or export again with Thread Support off. |
| A file is over 100 MB | One file can be up to 100 MB (Limits). Move large assets out of the .pck and load them when needed. |
See also: Unity games · Hosting & deploy