Install Godot Export
Pick your agent. Every command is ready to paste.
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-exportThe open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.
01
Install it
Run the command above, or upload the folder in Claude.
02
Ask naturally
Describe the task. Your agent loads godot-export when the request matches its description.
03
Name it if needed
If it does not trigger, say “use the godot-export skill”. In Codex, type $godot-export.
The skill itself
SKILL.md
Godot Export & Builds (4.x)
Turn a project into runnable platform builds via export presets and the command line, and handle the web/dedicated-server gotchas. Targets Godot 4.7.
When to use
- Use when producing a shippable build: installing export templates, creating/editing export presets, exporting from the editor or headless CLI (CI), or troubleshooting web (HTML5) and dedicated-server exports.
When not to use: storefront publishing flows → steam-publish/itch-publish; the
networking code of a server → godot-multiplayer (this skill covers building it headless).
Core workflow
- Install export templates matching your engine version: Editor menu >
Manage Export Templates (download), or install the
.tpzoffline. Versions must match the editor exactly. Since 4.7 the downloader can fetch templates for a single platform or architecture instead of the full set. - Add export presets in Project > Export: pick a platform (Windows Desktop, macOS,
Linux, Web, Android, iOS), set the export path, icons, features, and resource
include/exclude filters. Presets are saved to
export_presets.cfg. - Export from the editor with Export Project (release) or Export PCK/ZIP.
- Or export headless from the CLI for automation/CI using
--export-release "<preset name>" <output path>. - Per platform: Web needs cross-origin isolation (COOP/COEP) only if the preset's Thread Support is on (off by default); Android needs the SDK/keystore; macOS/iOS need signing for distribution.
- Smoke-test the build on the target before shipping — exported builds use
res://read-only; write touser://.
Patterns
1. Headless CLI export (CI-friendly)
# Preset name must match exactly what's in Project > Export (quote it).
# Run from the project directory (where project.godot lives).
godot --headless --export-release "Windows Desktop" build/windows/game.exe
godot --headless --export-release "Linux" build/linux/game.x86_64
godot --headless --export-release "Web" build/web/index.html
# Debug build (includes debug symbols / remote debug):
godot --headless --export-debug "Windows Desktop" build/windows/game_debug.exe
# Export only the data pack (no executable):
godot --headless --export-pack "Linux" build/game.pck
# Export only files changed since the given base pack(s):
godot --headless --export-patch "Linux" build/patch1.pck --patches build/game.pck
2. Run a project headless (dedicated server / tests)
# No window/GPU — for a server build or automated runs.
godot --headless --path . res://server_main.tscn
# Quit after N main-loop iterations (frames, NOT seconds) — handy for a headless smoke test:
godot --headless --path . --quit-after 600
3. Detect the build context at runtime
func _ready() -> void:
if OS.has_feature("dedicated_server") or DisplayServer.get_name() == "headless":
_start_server_only() # skip rendering/UI on a headless server
if OS.has_feature("web"):
_apply_web_tweaks()
# Custom feature tags (added per preset) are also queryable:
# if OS.has_feature("demo"): limit_content()
4. Choose write paths that survive export
# res:// is READ-ONLY in exported games. Always write to user://.
func save_path() -> String:
return "user://savegame.tres" # resolves to the OS app-data dir
func _ready() -> void:
print(OS.get_user_data_dir()) # where user:// actually lives
Pitfalls
- "No export template found". Templates must match the exact editor version (incl. beta/rc). Re-download via Manage Export Templates after upgrading Godot.
- Preset name mismatch in CLI.
--export-release "Windows"fails if the preset is named"Windows Desktop". Names are case- and space-sensitive; quote them. - Web build shows a blank page / threads error. Builds with the preset's Thread
Support option enabled require the server to send
Cross-Origin-Opener-Policy: same-originandCross-Origin-Embedder-Policy: require-corp(cross-origin isolation forSharedArrayBuffer). Must be served over HTTP(S), not opened as afile://. itch.io has a "SharedArrayBuffer support" toggle for this. If the host cannot set headers (GitHub Pages), leave Thread Support off — the default since 4.3. - Writing to
res://at runtime fails in exports (read-only, packed). Useuser://. - Missing resources in the build. Non-resource files (e.g. external
.json,.txt) are not auto-included — add them via the preset's Resources > Filters to export non-resource files (e.g.*.json). - Android export needs setup: Android SDK/JDK paths in Editor Settings, a debug or
release keystore, and the
INTERNETpermission for networked games. - macOS/iOS distribution requires signing/notarization; unsigned macOS apps are blocked by Gatekeeper.
- Debug vs release.
--export-debugenables remote debugging and debug checks; ship--export-release.
References
- For the
export_presets.cfgstructure, all useful CLI flags, custom feature tags, PCK/expansion patching, encryption, and per-platform setup (Android keystore, macOS signing, web headers), readreferences/presets-and-cli.md.
Related skills
godot-multiplayer— the dedicated-server code you export headless.steam-publish/itch-publish— getting the build to players.prototype-fast/game-jam— quick web/desktop builds for sharing.
Tips for Godot Export
- • Start a fresh session after installing so your agent picks up the new skill.
- • It bundles reference files. The agent reads them only when needed, so they cost no context until then.
- • It is part of a pack with 40 skills. Install only the ones you need with --skill to keep triggers precise.
- • If two skills overlap, mention the one you want by name.
Questions about Godot Export
What does the Godot Export skill do?
Export and build a Godot 4.7 project for distribution: install export templates, define export presets (Windows/macOS/Linux/Web/Android), run headless command-line exports for CI, and handle web (HTML5) COOP/COEP and dedicated-server/headless builds. Use when exporting a Godot game, configuring export_presets.cfg, building for web/desktop/mobile, or automating builds from the command line.
How do I install Godot Export?
Run "npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-export" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.
Does Godot Export work in Cursor and Codex?
Yes. Godot Export uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.
Is Godot Export free?
Godot Export is open source on GitHub under the Apache-2.0 license. It is free to install; check the license before commercial use.
Who made Godot Export?
Godot Export is published by gamedev-skills in the gamedev-skills/awesome-gamedev-agent-skills repository, together with 39 other skills.



