【Godot】Godotプロジェクトを各プラットフォームへビルドする

作成: 2025-12-10最終更新: 2026-07-09

GodotプロジェクトをWindows/macOS/Android/Webへ確実にエクスポートする手順を解説。エクスポートテンプレートとPCKの仕組み、ケースセンシティブなど陥りやすい罠、Webのヘッダー設定、ビルドサイズ最適化、最終チェックリストまで図解します。

ゲームがほぼ完成し、いよいよプレイヤーに届けよう——その最後のステップ「エクスポート(ビルド)」で、多くの人が予期せぬ壁にぶつかります。「エディタでは完璧に動いたのに、書き出したら真っ黒」「特定のプラットフォームだけエラーになる」。この最後のつまずきは、 エクスポートの仕組みと、プラットフォームごとの癖 を知っておくだけで、ほとんど防げます。

この記事では、GodotプロジェクトをWindows・macOS・Android・Webへ確実に書き出すために、エクスポートテンプレートとPCKの仕組みから、初めてのエクスポート手順、陥りやすい罠(ケースセンシティブ・Webのヘッダー)、ビルドサイズの最適化、そして出荷前の最終チェックリストまでを解説します。

各プラットフォームへのエクスポートのイメージ。1つのGodotプロジェクトから、Windows・macOS・Android・Web向けのビルドが書き出される様子

この記事でわかること

  • エクスポートテンプレートPCK の仕組み(分離/埋め込み)
  • 初めてのエクスポート手順(デスクトップ → Web)
  • 最大の罠 ケースセンシティブ と、Webの ヘッダー設定
  • ビルドサイズの最適化と 出荷前チェックリスト

Sponsored

エクスポートの仕組み:テンプレートとPCK

エクスポートを理解する鍵は2つ、 エクスポートテンプレートPCK です。

エクスポートの仕組みの図。中央のGodotプロジェクトが、各プラットフォーム向けにコンパイル済みのエクスポートテンプレートと組み合わさり、Windows(.exe)・macOS(.app)・Android(.apk/.aab)・Web(.html)のビルドとして書き出される

エクスポートテンプレート は、Godotエンジン本体を各プラットフォーム向けにコンパイルしたバイナリ群です。あなたのプロジェクト(シーンやスクリプト)を、このテンプレートに載せて実行可能な形にします。

  • バージョンの一致が必須 :Godot本体とテンプレートのバージョンは 完全に一致 させます(食い違うとエクスポートできません)
  • デバッグ版とリリース版 :テンプレートには両方が含まれ、エクスポート時に選びます。出荷は リリース版 です

PCK は、プロジェクトのシーン・スクリプト・アセットを1つにまとめたファイルです。実行ファイルと 分離 するか、埋め込む かを選べます。

PCKの分離と埋め込みの比較図。分離は実行ファイル(.exe)とデータ(.pck)が別々で、実行ファイルが小さくパッチ配布が容易だがファイルが複数。埋め込みは実行ファイル1つに全部入りで単一ファイル配布できるがサイズが大きい
PCKの扱いメリットデメリット主な用途
分離(デフォルト)実行ファイルが小さい・パッチ配布が容易配布ファイルが複数PC
埋め込み単一ファイルで配布できる実行ファイルが大きいWeb・モバイル

実践:はじめてのエクスポート(デスクトップ→Web)

インディーゲームをitch.ioで公開する、フリーゲームをWindows向けに配る、スマホアプリをストアに出す——最初の一歩は同じです。まずは デスクトップ(Windows) で書き出し、次に Web(itch.io) へ、という順で進めるのが定番です。手順はどのプラットフォームでも共通の流れになります。

  1. テンプレートを用意 :「エディタ」→「エクスポートテンプレートの管理」で、使用中のGodotバージョンのテンプレートをダウンロード
  2. プリセットを追加 :「プロジェクト」→「エクスポート」→「追加」で、書き出したいプラットフォーム(例: Windows Desktop)を選ぶ
  3. 設定を確認 :メインシーン、アイコン、リリース/デバッグの別を確認する
  4. 書き出す :「プロジェクトをエクスポート」で保存先を指定して出力

最初のデスクトップ版が動いたら、同じプロジェクトに Web のプリセットを足して書き出し、itch.ioにアップすればブラウザで遊べます。まず1プラットフォームを通しで成功させると、他も同じ流れで応用できます。

ポイントは2つです。

  • 必ず実機(書き出したビルド)で動作確認する :エディタで動くこととエクスポート版で動くことは別です。特に セーブ(user:// はエクスポート版で挙動が変わることがあるので、セーブ/ロード は書き出したビルドで必ず確かめます。
  • 1つ成功させてから増やす :いきなり全プラットフォームを狙わず、まずWindowsなど手近な1つを通す。エラーの切り分けが楽になります。
Sponsored

プラットフォーム別の要点と罠

最大の罠:ケースセンシティブ

Windowsで開発している人が最もハマるエラー です。Windowsはファイル名の大文字・小文字を区別しませんが、 LinuxやAndroidは厳密に区別 します。

ケースセンシティブの罠の図。コードでres://Assets/Player.pngと書き、実ファイルはres://assets/player.png。Windowsでは大小を区別しないので動くが、Linux/Androidでは別物と判定され読み込みに失敗する

コードで res://Assets/Player.png と書いているのに、実ファイルが res://assets/player.png だと、Windowsのエディタでは動くのに、 エクスポートすると読み込みに失敗 します。対策はシンプルで、 ファイル名を小文字+スネークケースに統一 することです。

Windows / macOS

デスクトップは最もシンプルです。Windowsは rcedit でアイコンやバージョン情報を埋め込めます。macOSは、配布時にAppleの 公証(notarization) が必要になることがあります。

Android

Androidは設定が最も多いプラットフォームです。

  • SDK/JDKの設定 :「エディタ設定」→「エクスポート」→「Android」でパスを設定。 Godot 4.xはJDK 17(または21) が必要(3.xはJDK 11)
  • AAB vs APK :Google PlayストアはAAB形式を推奨。テストや直接配布はAPKが手軽
  • エラーの目印No Android SDK found=SDKパス未設定、apksigner not found=build-tools未インストール

Web

Webは手軽ですが、 サーバー環境に依存する罠 があります。スレッド機能を使ってエクスポートすると、ブラウザの SharedArrayBuffer が必要になり、サーバー側で COOP/COEPヘッダー の設定が要ります。

WebのSharedArrayBuffer対応の図。スレッド有効でエクスポートするとSharedArrayBufferが必要になり、サーバーにCross-Origin-Opener-PolicyとCross-Origin-Embedder-Policyのヘッダーが要る。itch.ioはチェック1つ、自前サーバーはヘッダー追加、またはスレッド無効でヘッダー不要
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
  • itch.io :SharedArrayBufferのチェックボックス1つで有効化できます
  • 自前サーバー :上記ヘッダーを設定に追加します
  • スレッドを無効にする :エクスポート設定でスレッドをオフにすれば、ヘッダーなしでも動きます(パフォーマンスに影響する場合あり)

ビルドサイズの最適化

配布サイズが大きいと、ダウンロードもWebの初回読み込みも遅くなります。効き目の大きい順に手を打ちます。

手法アクション効果
リソースのフィルタリングエクスポートの「リソース」タブで、必要なファイルだけを含める
テクスチャ圧縮.import 設定でVRAM圧縮を有効にする
オーディオ品質の調整BGM/SEのビットレートを下げる

特に 使っていないアセットの除外 は効果が大きいです。試作で入れた素材がプロジェクトに残っていないか、出荷前に見直しましょう。

出荷前の最終チェックリスト

書き出す前に、この4点だけは必ず確認します。ここを押さえると「出したのに動かない」の大半を防げます。

エクスポート前の最終チェックリストの図。ケースセンシティブ(ファイル名が実体と一致)、外部ツールのパス(SDK/JDK/rcedit)、デバッグ無効(リリースビルド)、メインシーン(起動シーン設定)の4項目にチェックが並ぶ
チェック項目詳細
ケースセンシティブリソースパスが実際のファイル名と大小まで一致しているか
外部ツールのパスAndroid SDK・JDK・rceditのパスが正しいか
デバッグの無効化リリースビルドで「デバッグを有効にする」がOFFか
メインシーン起動シーンが正しく設定されているか

おまけ:先に知っておくと良いこと

  • エクスポートは早めに一度試す :完成間際に初めて書き出すと、ケースの不一致などがまとめて噴き出します。開発の早い段階で 一度エクスポートを通しておく と、後が楽です。
  • .res と暗号化 :リリースでは、テキストの .tres よりバイナリの .res、必要なら暗号化を検討します(カスタムリソース 参照)。
  • プラットフォームごとに操作を見直す :Web/モバイルはキーボードが無い・画面が縦・タッチ操作、など前提が変わります。入力まわりは書き出し先に合わせて確認しましょう。

まとめ

  • エクスポートは テンプレート(バージョン一致)プロジェクト を載せて書き出す作業。出荷は リリース版
  • PCK は分離(PC)か埋め込み(Web・モバイル)を用途で選ぶ
  • 最大の罠は ケースセンシティブ 。ファイル名は小文字+スネークケースで統一する
  • Android はJDK 17+SDK/build-tools、Web はスレッド利用時にCOOP/COEPヘッダーが要る
  • 出荷前は ケース/外部ツールパス/デバッグOFF/メインシーン の4点を確認し、必ず 書き出したビルドで動作確認 する

まずはWindows向けに一度エクスポートを通し、書き出した .exe が単体で起動することを確かめてみてください。「配れる形になった」瞬間、あなたのプロジェクトは"ゲーム"から"作品"になります。

さらに学ぶために