$npx -y skills add thedivergentai/GD-Agentic-Skills --skill godot-export-buildsExpert 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), a
| 1 | # Export & Builds |
| 2 | |
| 3 | Expert guidance for building and distributing Godot games across platforms. |
| 4 | |
| 5 | ## NEVER Do (Expert Export Rules) |
| 6 | |
| 7 | ### Platform & Validation |
| 8 | - **NEVER export to production without a 'Smoke Test'** — "It runs in editor" is NOT enough. Web, Mobile, and Console have unique memory/shader constraints. |
| 9 | - **NEVER skip macOS Notarization** — Apple's Gatekeeper will block unsigned apps. Use `notarytool` OR distribute exclusively via Steam/App Store. |
| 10 | - **NEVER use ad-hoc file paths** — `res://` is read-only in builds. Use `user://` for saves and logs, or paths will fail on locked file systems. |
| 11 | |
| 12 | ### Performance & Size |
| 13 | - **NEVER use 'Debug' templates for release** — Debug binaries are bloated and slow. Always use `--export-release` to strip profiling overhead. |
| 14 | - **NEVER include raw resources in builds** — Check your export filters. If you include `.md`, `.txt`, or `.psd` files, you're wasting player bandwidth and disk space. |
| 15 | - **NEVER ignore VRAM compression** — Large textures in Web/Mobile builds will crash the GPU driver. Enable ASTC/ETC2 compression in Import settings. |
| 16 | |
| 17 | ### Security |
| 18 | - **NEVER commit keystores or raw passwords to Git** — Use Environment Variables and CI Secrets (`export_android_signing_env.ps1`). |
| 19 | - **NEVER allow debug commands in Production** — Use `OS.has_feature("release")` to purge console/cheats from the final build. |
| 20 | - **NEVER bake shaders on export for Dedicated Servers** — The Shader Baker (Godot 4.5+) is for visual clients. Enabling it for headless servers is wasted build time. |
| 21 | --- |
| 22 | |
| 23 | ## Godot 4.7: Import & Export |
| 24 | |
| 25 | - `EditorSceneFormatImporter` constants moved to **ImportFlags** enum — update importer scripts. |
| 26 | - **Asset Store** replaces Asset Library in editor — document addon acquisition via new store UI. |
| 27 | - **HDR export**: verify viewport HDR settings per platform in export presets. |
| 28 | |
| 29 | ## Available Scripts |
| 30 | |
| 31 | > **MANDATORY**: Read the appropriate script before implementing the corresponding pattern. |
| 32 | |
| 33 | ### [export_headless_pipeline.ps1](scripts/export_headless_pipeline.ps1) |
| 34 | Expert PowerShell script for automated multi-platform headless exports. |
| 35 | |
| 36 | ### [export_version_sync.gd](scripts/export_version_sync.gd) |
| 37 | Editor script to sync Git tags/hashes with 'application/config/version'. |
| 38 | |
| 39 | ### [export_post_process_hook.gd](scripts/export_post_process_hook.gd) |
| 40 | `EditorExportPlugin` for automating post-build tasks (Zipping, Manifests). |
| 41 | |
| 42 | ### [export_feature_flag_manager.gd](scripts/export_feature_flag_manager.gd) |
| 43 | Expert manager for runtime behavior swapping via build feature flags. |
| 44 | |
| 45 | ### [export_pck_patch_loader.gd](scripts/export_pck_patch_loader.gd) |
| 46 | Runtime patching logic for mounting external PCK archives and DLC. |
| 47 | |
| 48 | ### [export_android_signing_env.ps1](scripts/export_android_signing_env.ps1) |
| 49 | Secure environment variable setup for Android release keystores. |
| 50 | |
| 51 | ### [export_custom_build_stripper.py](scripts/export_custom_build_stripper.py) |
| 52 | SCons configuration for stripping unused Godot modules to reduce binary size. |
| 53 | |
| 54 | ### [export_macos_notarize_cmd.ps1](scripts/export_macos_notarize_cmd.ps1) |
| 55 | CLI procedure for macOS code signing and notarization outside the App Store. |
| 56 | |
| 57 | ### [export_build_size_report.gd](scripts/export_build_size_report.gd) |
| 58 | Editor tool for auditing resource sizes to optimize build footprints. |
| 59 | |
| 60 | ### [export_ci_github_actions.yml](scripts/export_ci_github_actions.yml) |
| 61 | Professional CI/CD workflow for automated multi-platform Godot releases. |
| 62 | |
| 63 | ### [export_steam_upload.ps1](scripts/export_steam_upload.ps1) |
| 64 | Expert script for automating SteamPipe uploads using `steamcmd` and VDF manifests. |
| 65 | |
| 66 | ### [export_universal_manager.gd](scripts/export_universal_manager.gd) |
| 67 | Editor tool to programmatically iterate and export all defined presets in one click. |
| 68 | |
| 69 | --- |
| 70 | |
| 71 | ## Export Templates |
| 72 | |
| 73 | **Install via Editor:** |
| 74 | Editor → Manage Export Templates → Download |
| 75 | |
| 76 | ## Basic Export Setup |
| 77 | |
| 78 | ### Create Export Preset |
| 79 | |
| 80 | 1. Project → Export |
| 81 | 2. Add preset (Windows, Linux, etc.) |
| 82 | 3. Configure settings |
| 83 | 4. Export Project |
| 84 | |
| 85 | ### Windows Export |
| 86 | |
| 87 | ```ini |
| 88 | # Export settings |
| 89 | # Format: .exe (single file) or .pck + .exe |
| 90 | # Icon: .ico file |
| 91 | # Include: *.import, *.tres, *.tscn |
| 92 | ``` |
| 93 | |
| 94 | ### Web Export |
| 95 | |
| 96 | ```ini |
| 97 | # Settings: |
| 98 | # Export Type: Regular or GDExtension |
| 99 | # Thread Support: For SharedArrayBuffer |
| 100 | # VRAM Compression: Optimized for size |
| 101 | ``` |
| 102 | |
| 103 | ## Export Presets File |
| 104 | |
| 105 | ```ini |
| 106 | # export_presets.cfg |
| 107 | |
| 108 | [preset.0] |
| 109 | name="Windows Desktop" |
| 110 | platform="Windows Desktop" |
| 111 | runnable=true |
| 112 | export_path="bui |