godot-export-builds について
Godot のヘッドレスビルド、CI パイプライン、プラットフォーム別リリース準備を扱うスキルです。エディター操作の手順ではなく、エクスポート検証、署名、サイズ監査、パッチ、後処理に対応するスクリプトとチェックを提供します。
主な機能
- 01ヘッドレスエクスポートパイプライン
- 02Godot 4.7 向け CI 設定
- 03プラットフォーム署名と公証
- 04ビルドサイズと機能の監査
- 05PCK パッチの読み込み
- 06エクスポート後の処理
活用シーン
- 01CI でデスクトップビルドを実行
- 02署名済み Android リリースを準備
- 03直接配布する macOS ビルドを公証
- 04ビルドの内容とサイズを監査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ thedivergentai/ game-dev-agentic-skills --skill godot-export-buildsインストール後、Claude Code で/godot-export-buildsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/export-setup-guide.mdmigration-notes.mdscripts/export_android_signing_env.ps1export_build_size_report.gdexport_ci_github_actions.ymlexport_custom_build_stripper.pyexport_feature_flag_manager.gdexport_headless_pipeline.ps1export_macos_notarize_cmd.ps1export_pck_patch_loader.gdexport_post_process_hook.gdexport_steam_upload.ps1export_universal_manager.gdexport_version_sync.gdheadless_build.shversion_manager.gd詳細
エクスポートとビルド
ヘッドレス/CI/プラットフォームリリース用の仕組みについて説明します。エディターからエクスポートをクリックする手順のチュートリアルではありません。
絶対に行わないこと(エキスパート向けエクスポートルール)
プラットフォームと検証
- スモークテストなしで本番環境向けにエクスポートしてはいけません — エディターでの再生と、Web/モバイル/コンソールの制約は異なります。
- 直接配布する場合、macOS の公証を省略してはいけません — 署名されていないアプリは Gatekeeper にブロックされます(Steam/App Store で配布する場合は代替手段を利用できます)。
- ビルド内で
res://に一時的な書き込みパスを使ってはいけません — セーブデータやログの保存先にはuser://を使います。
パフォーマンスとサイズ
- リリースにデバッグ用テンプレートを含めてはいけません —
--export-releaseを使います。 - 編集用の不要ファイルをそのまま含めてはいけません — プリセットで
.md/.psd/ドキュメントを除外します。 - Web/モバイルで VRAM 圧縮を無視してはいけません — ASTC/ETC2 を有効にします(ピクセルアートは非圧縮のままにします)。
セキュリティ
- キーストアやパスワードをコミットしてはいけません — 環境変数と export_android_signing_env.ps1 を使います。
- デバッグ用のチートをリリースに残してはいけません —
OS.has_feature("release")で制御します。 - 専用サーバー向けエクスポートで Shader Baker を有効にしてはいけません — ビルド時間の無駄になります。ベイカーはビジュアルクライアント向けです。
プラットフォーム選択ツリー
| ターゲット | 必須のスクリプト/アクション | 読み込まないもの |
|---|---|---|
| デスクトップのスモークテスト(Win/Linux) | export_headless_pipeline.ps1 または headless_build.sh | 手動でのエクスポート UI チュートリアル |
| Web のスモークテスト | ヘッドレス Web プリセットとサイズレポート | デスクトップ専用の圧縮に関する想定 |
| Android リリース | export_android_signing_env.ps1 | コミット済みのキーストア |
| macOS の直接配布 | export_macos_notarize_cmd.ps1 | Steam で配布しないのに「Steam があるから」という理由で公証を省略すること |
| 専用サーバー | ヘッドレスサーバープリセット、ベイカーはオフ | クライアントのシェーダーベイカー/UI 機能パック |
| CI のマルチプラットフォーム | export_ci_github_actions.yml(Godot 4.7 のイメージ) | 古い 4.2.x コンテナのバージョン指定 |
| Steam デポへのアップロード | export_steam_upload.ps1 | — Steam で配布しない場合 |
| PCK/DLC パッチ | export_pck_patch_loader.gd | — DLC がない場合 |
| すべてのプリセットをワンクリックで実行 | export_universal_manager.gd | — |
| バージョン同期 | export_version_sync.gd/version_manager.gd | UI 内のハードコードされたバージョンラベルのみ |
| 機能の除外 | export_feature_flag_manager.gd | — |
| サイズ監査 | export_build_size_report.gd | — |
| カスタムエンジンの除外 | export_custom_build_stripper.py | — カスタムビルドの場合を除く |
| エクスポート後の zip/マニフェスト処理 | export_post_process_hook.gd | — |
エディターのエクスポート UI/テンプレートのダウンロードに関する説明:「参考資料」にある公式ドキュメントへのリンクを使ってください。または、INI/CLI/プラットフォームのチェックリストについては export-setup-guide.md を参照してください。
利用可能なスクリプト
必須:実装を始める前に、上記のプラットフォーム選択に該当するスクリプトを読んでください。
- export_headless_pipeline.ps1
- headless_build.sh
- export_version_sync.gd / version_manager.gd
- export_post_process_hook.gd
- export_feature_flag_manager.gd
- export_pck_patch_loader.gd
- export_android_signing_env.ps1
- export_custom_build_stripper.py
- export_macos_notarize_cmd.ps1
- export_build_size_report.gd
- export_ci_github_actions.yml — 4.7 のテンプレート/実行ファイルを固定します
- export_steam_upload.ps1 —
steamcmd+ VDF による SteamPipe - export_universal_manager.gd
CI の要件(4.7)
ワークフローでは、Godot 4.7 のエディターとエクスポートテンプレートを取得する必要があります(4.2.x ではありません)。貼り付けた旧式の YAML より、チェックイン済みの export_ci_github_actions.yml を優先してください。アーティファクトは actions/upload-artifact@v4 でアップロードします。
高度なエクスポートパターン
1. プラットフォーム固有のパッチ適用(差分更新)
外部 PCK は ProjectSettings.load_resource_pack(path, true) でマウントします。同じパスのリソースがベースを上書きします。export_pck_patch_loader.gd を参照してください。
2. VRAM 圧縮の監査
- デスクトップ Forward+:S3TC/BPTC
- モバイル:ETC2 / ASTC
- ピクセルアート:圧縮をオフ
3. SteamPipe アップロード
ローカル/CI でビルドし、STEAM_USER / STEAM_PASS / STEAMCMD_PATH 環境変数と app_build.vdf を指定して export_steam_upload.ps1 を実行します。
4. ユニバーサルビルドマネージャー
export_universal_manager.gd で export_presets.cfg のプリセットを反復処理し、ワンクリックで複数プラットフォーム間の一貫性を確保します。
参考資料
段階的な情報開示:特定の API を調査するときにのみ公式ドキュメントへのリンクを開き、関連領域に処理を振り分けるときにのみ関連スキルを読み込んでください。全体のネットワークを事前に読み込まないでください。
公式ドキュメント
- エクスポート(チュートリアルの目次) — プラットフォーム別の詳細に進む前に、プリセット、テンプレート、プラットフォームガイド、機能タグ、PCK ワークフローを確認するための案内マップです。
- プロジェクトのエクスポート — エクスポートプリセット、テンプレートのインストール、含める/除外するフィルター、リリース用テンプレートとデバッグ用テンプレートの選択について説明します。
- 機能タグ — デバッグツールやプラットフォーム別の処理を実行時に除外するための
OS.has_featureとカスタムタグについて説明します。 - コマンドラインのチュートリアル — CI やスクリプト化されたパイプラインで使用する
--headless、--export-release、--export-debug、--export-packについて説明します。 - パック、パッチ、MOD のエクスポート — 差分アップデート向けの
ProjectSettings.load_resource_packを使った PCK/DLC のマウントについて説明します。 - Android 向けのエクスポート — ストア向けおよび CI での Android ビルドに必要な SDK、キーストア、署名に関する環境要件について説明します。
- macOS 向けのエクスポート — Gatekeeper に対応した配布に必要なコード署名、公証、ユニバーサルバイナリのオプションについて説明します。
- Web 向けのエクスポート — Web のスモークテストにおけるスレッド、SharedArrayBuffer、VRAM 圧縮、HTML5 シェルの制約について説明します。
- 専用サーバー向けのエクスポート — ヘッドレスサーバー用テンプレートと、クライアント専用のベイク処理(シェーダーベイカーなど)がサーバービルドで無駄になる理由について説明します。
- EditorExportPlugin — チームで共有するエクスポートプリセットで、エクスポート後に ZIP やマニフェストを処理するためのフック API です。
- サイズの最適化 — カスタムテンプレートのバイナリサイズを標準テンプレートより小さくする必要がある場合に使用する、SCons によるモジュールの除外とサイズ関連のフラグについて説明します。
- データパス — エクスポート済みビルドで読み取り専用のパック済みパスに書き込まないようにするための、
res://とuser://の違いについて説明します。
関連スキル
前提条件
- godot-project-foundations — エクスポートプリセットやフィルターを設定する前に、プロジェクトのレイアウト、
project.godotのバージョン/アイコン設定、インポートのデフォルト設定を適切に整えておく必要があります。 - godot-gdscript-mastery — バージョン同期、ユニバーサルエクスポート、後処理フックで使用する
EditorScript/プラグインの型指定とOS.executeのパターンについて説明します。
関連項目
- godot-platform-desktop — Windows/Linux/macOS のランタイム固有の挙動(アイコン、ウィンドウ管理、Steam)について説明します。エクスポートプリセットでこれらに合わせる必要があります。
- godot-platform-mobile — Android/iOS の権限、画面の向き、入力に関する前提について説明します。これらはモバイルのエクスポートオプションに含める必要があります。
- godot-platform-web — Web ホストの制約(CORS、スレッド、メモリ)について説明します。これらの制約に基づいて、Web のエクスポート形式とスモークテストのマトリックスが決まります。
- godot-platform-console — デスクトップ/モバイルのエクスポートテンプレートの範囲を超える、コンソールの認証向けパッケージング手順について説明します。
- godot-adapt-desktop-to-mobile — タッチ、UI、安全領域への対応について説明します。これらはデスクトップ専用アセットではなく、モバイル向け機能タグ付きビルドに含める必要があります。
- godot-debugging-profiling — エクスポートビルドとエディターの違い(シェーダーのコンパイル、メモリ)をプロファイリングしてから、プリセットフィルターを原因と判断してください。
- godot-testing-patterns — ヘッドレス/CI アーティファクトに対する自動スモークテストについて説明します。「エディターで動く」だけのものが単独でリリースされることを防ぎます。
- godot-save-load-systems —
user://の下にデータを永続化します。インストール後にプレイヤーが必要とするセーブスキーマが、エクスポートフィルターによって除外されないようにしてください。 - godot-resource-data-patterns — エクスポートのサイズを直接削減する、リソースのパッキングと
.gdignoreの適切な管理について説明します。
下流/利用者
- godot-performance-optimization — フィルター、VRAM 圧縮、テンプレートの選択後もリリースビルドが予算を超える場合は、こちらに引き継いでください。
- godot-server-architecture — 権威サーバー向けの専用サーバー用エクスポートプリセットとヘッドレスパイプラインを利用します。
- godot-multiplayer-networking — 専用サーバーとリッスンサーバーのパッケージングに必要な、クライアント/サーバーのバイナリペアと機能タグについて説明します。
マスター
- godot-master — ライブラリのルーターおよびミラーされたモジュールのエントリです。複数領域にまたがるエクスポートやプラットフォームの課題を担当するドメインスキルを特定する際に参照してください。