---
title: "Godot web export hosting: publish it with your AI"
description: "Yes, you can host a Godot web export by asking your AI: export for Web with `index.html` as the name, ask your AI to publish the folder, and drop it on the upload page it links."
url: "/docs/use-cases/godot-web-game/"
lang: en
index: "/llms.txt"
---
# Godot web export hosting: publish it with your AI

Yes, you can host a Godot web export by asking your AI: export for Web with `index.html` as the name, ask your AI to publish the folder, and drop it on the upload page it links. You get a test link to play on a computer or a phone, and the public address waits for you to press **Publish**. Games with Thread Support work too, with one small `_headers` file.

Godot can export a game for the browser in a few clicks. What usually comes next is less clear: which host serves the `.wasm` and `.pck` files properly, why the link shows a 404, and why a threaded export stops at a message about `SharedArrayBuffer`. This page goes from the export folder to a link you send to people, with what to ask your AI at each step.

The export settings in detail are on [Godot games](/docs/guides/godot/index.md). This page is the trip around them.

## Before you start

- **Your AI connected to KUMODeck.** An agent on your computer, such as Claude Code, Codex or Cursor, can see the export folder ([Use from an AI agent (MCP)](/docs/claude-code/index.md)). Claude or ChatGPT in a browser works too, through the upload page ([Use in Claude or ChatGPT on the web](/docs/claude-and-chatgpt/index.md)).
- **Godot 4 with the export templates.** Download them once from **Editor › Manage Export Templates**.
- **A KUMODeck account** with funds or invite credit for usage fees.

## 1. Export with the name the link expects

In **Project › Export…**, add the **Web** preset and set **Export Path** to `index.html` in an empty folder. The link opens `index.html`, so this one name matters: the most common reason for a 404 is an export called `MyGame.html`. Leave **Thread Support** off unless your game needs threads (off is the default), and leave **Export With Debug** off.

The folder has `index.html`, `index.js`, `index.wasm`, `index.pck`, two audio worklet files and the icons. Keep the names as they are.

## 2. Ask your AI to publish it

```text Ask your AI
Publish my Godot game in this folder with KUMODeck. Give me the test version's link.
```

What happens:

1. Your AI makes a KUMODeck project for the game if there is none yet.
2. 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 the KUMODeck **upload page**. Drop the folder there, or a zip of it.
3. The export goes on the **test version**, an address with `--dev` in it, and your AI gives you the link.

From a terminal, `kumodeck deploy path/to/the/folder` does the same.

**Try it:** open the link on your computer, then on your phone. A Godot web game is a big download the first time, so try it on a phone connection once before you send the link to anyone.

## 3. If the game uses threads

With **Thread Support** on, the game uses `SharedArrayBuffer`, which browsers allow only when the page sends two extra headers. Ask:

```text Ask your AI
My Godot export uses Thread Support. Add the _headers file it needs and put it up again.
```

Your AI puts a file named `_headers` next to `index.html` with `Cross-Origin-Opener-Policy: same-origin` and `Cross-Origin-Embedder-Policy: require-corp`. Without it, the game stops at the start with a message that Cross-Origin Isolation and `SharedArrayBuffer` are missing. Use this file rather than Godot's **Progressive Web App › Ensure Cross Origin Isolation Headers** option ([Thread Support](/docs/guides/godot/index.md#thread-support)).

## 4. Publish and share

When the test version plays well, say "Publish it." Your AI opens a KUMODeck confirmation page and you press **Publish** yourself. The public address is `https://<name>.kumodeck.app/`, the same name without `--dev`. You can ask for another name before you publish, or use your own domain ([Custom domains](/docs/guides/hosting/index.md#custom-domains)).

For each new export, export into the same folder and ask "Put the new export up again." Every version is kept, so "roll back to the previous version" switches back if one breaks.

## What it cannot do, and conditions

- **The export must be named `index.html`.** Any other name gives a 404 at the link. Export again, or rename only the `.html` file and keep the other names.
- **One file can be up to 100 MB.** If the `.pck` grows past that, move large assets out of it and load them when needed ([Limits](/docs/guides/hosting/index.md#limits)).
- **The export does not go through a conversation.** The engine file alone is about 40 MB, so the upload page takes the folder (up to 100 MB per file).
- **Threads need the `_headers` file.** With it, images or scripts from other sites load only if those sites allow it. With Thread Support off you need neither.
- **Online features are not in a Godot guide yet.** Sign-in, cloud saves and multiplayer rooms are JavaScript calls in the browser (the KUMODeck SDK). Godot can load a JavaScript library through the export's **Head Include** and call it from GDScript with `JavaScriptBridge`, but we have not written or tested a Godot guide for this. If you ask your AI for it, check it on the test version before you publish.
- **Your AI cannot publish to everyone.** It makes test versions; the public address waits for your press.

## What it costs

There is no free tier. Hosting is taken from your prepaid balance at cost, and an invite code adds $5 of credit for usage fees. The confirmation page shows an estimate for the version, such as storage a month and the cost per 10,000 visits, before you press **Publish** ([Pricing](/docs/pricing/index.md)).

New to KUMODeck? [Start here](/docs/start/index.md) connects your AI in a few steps.

Sources for the Godot facts on this page, checked on 2026-11-05: [Exporting for the Web](https://docs.godotengine.org/en/stable/tutorials/export/exporting_for_web.html) and [The JavaScriptBridge singleton](https://docs.godotengine.org/en/stable/tutorials/platform/web/javascript_bridge.html).

## Questions and answers

### Why does my Godot game's link show a 404?

The export is probably not named `index.html`. Export again with **Export Path** set to `index.html`, or rename only the `.html` file and keep the other names.

### Does it work with Godot 3?

These steps are for Godot 4, the version we tested. The folder and file names on this page are the ones a Godot 4 web export makes.

### My export stops with a message about SharedArrayBuffer. What is wrong?

It was exported with **Thread Support** on, which needs two headers. Add the `_headers` file from step 3, or export again with Thread Support off.

### Should I turn on the Progressive Web App option for the headers?

No. Use the `_headers` file next to `index.html` instead of **Ensure Cross Origin Isolation Headers**. The file gives the page the two headers the browser needs.

### Can players open the game on a phone?

Yes. The link opens in the phone's browser. The engine file is about 40 MB, so the first load takes longer on a phone connection; try it there before you share the link.

### Can my Godot game save progress or have multiplayer?

The KUMODeck features are JavaScript calls in the browser, and Godot reaches JavaScript through `JavaScriptBridge`. We have not written a Godot guide for this yet, so check what your AI builds on the test version first.
