| name | godot-export-builds |
| description | Expert patterns for multi-platform exports including export templates (Windows/Linux/macOS/Android/iOS/Web), command-line exports (headless mode), platform-specific settings (codesign, notarization, Android SDK), feature flags (OS.has_feature), CI/CD pipelines (GitHub Actions), and build optimization (size reduction, debug stripping). Use for release preparation or automated deployment. Trigger keywords: export_preset, export_template, headless_export, platform_specific, feature_flag, CI_CD, build_optimization, codesign, Android_SDK. |
Export & Builds
Headless / CI / platform release plumbing — not Editor → Export click-path tutorials.
NEVER Do (Expert Export Rules)
Platform & Validation
- NEVER export to production without a smoke test — Editor play ≠ Web/Mobile/Console constraints.
- NEVER skip macOS notarization for direct distribution — Gatekeeper blocks unsigned apps (Steam/App Store distribution can substitute).
- NEVER use ad-hoc writable
res:// paths in builds — Saves/logs go to user://.
Performance & Size
- NEVER ship Debug templates as release — Use
--export-release.
- NEVER include raw authoring junk — Filter
.md / .psd / docs out of presets.
- NEVER ignore VRAM compression on Web/Mobile — Enable ASTC/ETC2 (keep pixel art uncompressed).
Security
- NEVER commit keystores or passwords — Env vars + export_android_signing_env.ps1.
- NEVER leave debug cheats in release — Gate with
OS.has_feature("release").
- NEVER enable Shader Baker on dedicated server exports — Wasted build time; baker is for visual clients.
Platform Decision Tree
Editor Export UI / template download prose: use Official Documentation links in Reference — or export-setup-guide.md for INI/CLI/platform checklists.
Available Scripts
MANDATORY: Read the script that matches the platform decision above before implementing.
CI Contract (4.7)
Workflows must pull Godot 4.7 editor + export templates (not 4.2.x). Prefer the checked-in export_ci_github_actions.yml over pasted legacy YAML. Artifacts upload with actions/upload-artifact@v4.
Expert Export Patterns
1. Platform-Specific Patching (Delta Updates)
Mount external PCKs with ProjectSettings.load_resource_pack(path, true) — same-path resources override base. See export_pck_patch_loader.gd.
2. VRAM Compression Audit
- Desktop Forward+: S3TC/BPTC
- Mobile: ETC2 / ASTC
- Pixel art: compression off
3. SteamPipe Upload
Build locally/CI → export_steam_upload.ps1 with STEAM_USER / STEAM_PASS / STEAMCMD_PATH env vars and an app_build.vdf.
4. Universal Build Manager
Iterate presets from export_presets.cfg via export_universal_manager.gd for one-click multi-platform consistency.
Reference
Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.
Official Documentation
- Exporting (tutorial index) — Entry map for presets, templates, platform guides, feature tags, and PCK workflows before platform deep-dives.
- Exporting projects — Export presets, template install, include/exclude filters, and release vs debug template choice.
- Feature tags —
OS.has_feature / custom tags that drive runtime stripping of debug tools and platform forks.
- Command line tutorial —
--headless, --export-release, --export-debug, and --export-pack for CI and scripted pipelines.
- Exporting packs, patches, and mods — PCK/DLC mounting with
ProjectSettings.load_resource_pack for delta updates.
- Exporting for Android — SDK, keystore, and signing env expectations for store and CI Android builds.
- Exporting for macOS — Codesign, notarization, and universal binary options required for Gatekeeper distribution.
- Exporting for Web — Threading/SharedArrayBuffer, VRAM compression, and HTML5 shell constraints for web smoke tests.
- Exporting for dedicated servers — Headless server templates and why client-only bake steps (e.g. shader baker) waste server builds.
- EditorExportPlugin — Hook API for post-export zip/manifest steps shared across team export presets.
- Optimizing for size — SCons module stripping and size flags when custom templates must beat stock binary weight.
- Data paths —
res:// vs user:// so exported builds do not write into read-only packed paths.
Related Skills
Prerequisites
- godot-project-foundations — Project layout,
project.godot version/icon settings, and import defaults must be sane before export presets and filters.
- godot-gdscript-mastery —
EditorScript / plugin typing and OS.execute patterns used by version sync, universal export, and post-process hooks.
Complements
- godot-platform-desktop — Windows/Linux/macOS runtime quirks (icons, windowing, Steam) that export presets must match.
- godot-platform-mobile — Android/iOS permission, orientation, and input assumptions that belong in mobile export options.
- godot-platform-web — Web host constraints (CORS, threads, memory) that decide Web export type and smoke-test matrix.
- godot-platform-console — Console certification packaging flows that extend beyond desktop/mobile export templates.
- godot-adapt-desktop-to-mobile — Touch/UI/safe-area adaptations that must ship in mobile feature-tagged builds, not desktop-only assets.
- godot-debugging-profiling — Profile export vs editor differences (shader compile, memory) before blaming preset filters.
- godot-testing-patterns — Automated smoke tests against headless/CI artifacts so “runs in editor” never ships alone.
- godot-save-load-systems — Persist under
user://; export filters must not strip save schemas players need after install.
- godot-resource-data-patterns — Resource packing and
.gdignore hygiene that directly shrinks export footprint.
Downstream / consumers
Master
- godot-master — Library router and mirrored module entry; open when discovering which Domain Skill owns a cross-cutting export or platform concern.