INDIE INDEX

Godotで書き出すと「export_presets.cfg」が無いと出る

公開 2026-09-24更新 2026-09-24Claude Code

書き出しのコマンドと、出たエラーの全文をそのまま Claude Code に渡すと、書き出しの設定のファイルがプロジェクトに足され、Web と Windows の2つの書き出し先ができました。同じコマンドで書き出し直すと、どちらもエラーは出ず、Web は9つのファイル、Windows は実行ファイル1つができました。

このページの目次
  1. 起きていること
  2. 原因
  3. 直し方
  4. それでも直らないとき
  5. 情報源

起きていること

Claude Code に作ってもらった Godot Engine 4 のコイン集めのゲームを、ブラウザで遊べる形(Web)と、Windows の実行ファイル(.exe)の両方に書き出そうとしました。書き出しの設定は、まだ一度も作っていない状態です。版 4.7.2 の Godot をコマンドから画面なしで動かし、次の2つのコマンドを走らせました。

<Godot の実行ファイル> --headless --path <プロジェクトのフォルダ> --export-release "Web" <出力先>/web/index.html
<Godot の実行ファイル> --headless --path <プロジェクトのフォルダ> --export-release "Windows Desktop" <出力先>/win/coin.exe

どちらも、次の3行が出て止まり、出力先のフォルダにはファイルが1つもできませんでした。

ERROR: This project doesn't have an `export_presets.cfg` file at its root.
Create an export preset from the "Project > Export" dialog and try again.
   at: _fs_changed (editor/editor_node.cpp:1417)

エラーの文は、Web と Windows とで1字も違いませんでした。

原因

export_presets.cfg は、書き出しの設定を入れておくファイルで、プロジェクトのフォルダの直下に置かれます。書き出し先ごとの設定のまとまりを「プリセット」と呼び、エディタでは、書き出しの画面の上にある Add… のボタンから、機種を選んで作ります。はじめて書き出しの画面を開いたときは、プリセットが1つも無い空の状態です。

コマンドから書き出すときも、プリセットは要ります。--export-release に渡す名前は、export_presets.cfg の中にあるプリセットの名前と同じでなければなりません。

この試しで、直す前のプロジェクトのフォルダにあったのは project.godot と、scenes・scripts の2つのフォルダだけで、export_presets.cfg はありませんでした。

直し方

Godot のエディタの画面は開かずに、Claude Code に直してもらいました。Claude Code は、フォルダの中のファイルを読み、書き換え、コマンドを動かすツールです。作業フォルダを限る1文と、走らせた2つのコマンド、出たエラーの全文を貼って、次の文を1回だけ渡しました。Godot の実行ファイルの場所は、ここでは <Godot の実行ファイル> に置き換えて載せています。

Claude Codeに書き出しのエラーを直してもらった文

作業フォルダは D:\Claude_Game_Site\drafts\W-143-A\export-errors.play\ だけです。このフォルダの外は読まない・書かないでください(書き出したファイルは D:\Claude_Game_Site\drafts\W-143-A\export-errors.export\ に置いてよい)。

Godot 4 で作ったゲームを、ブラウザで遊べる形(Web)と Windows の .exe の両方に書き出したいです。
Godot は <Godot の実行ファイル> を使っていて、次のように書き出そうとしました。

"<Godot の実行ファイル>" --headless --path D:\Claude_Game_Site\drafts\W-143-A\export-errors.play --export-release "Web" D:\Claude_Game_Site\drafts\W-143-A\export-errors.export\web\index.html
"<Godot の実行ファイル>" --headless --path D:\Claude_Game_Site\drafts\W-143-A\export-errors.play --export-release "Windows Desktop" D:\Claude_Game_Site\drafts\W-143-A\export-errors.export\win\coin.exe

どちらも、次のエラーが出て何もできませんでした。

ERROR: This project doesn't have an `export_presets.cfg` file at its root.
Create an export preset from the "Project > Export" dialog and try again.
   at: _fs_changed (editor/editor_node.cpp:1417)

このエラーが出ないように直して、Web と Windows の両方に書き出せるようにしてください。
書き出せたら、何を直したのかと、できたファイルの名前を教えてください。
書き出しのテンプレートはもう入れてあります。新しくファイルをダウンロードしないでください。
  • かかった時間:約1分37秒(文を渡してから返事が来るまで)

Claude Code は、プロジェクトの直下に export_presets.cfg が無かったのでエラーが出ていた、と返しました。このファイルを新しく作り、中身は「Web」と「Windows Desktop」の2つのプリセットで、テンプレートの欄は空にして、すでに入っている書き出しのテンプレートを使う形にした、とのことでした。渡したコマンドをそのまま走らせ、どちらもエラー無く終わった、とも返しました。

作られた export_presets.cfg は101行でした。そのうち、プリセットの名前・書き出し先の機種・書き出す先の道の行を抜き出すと、次のとおりです。

[preset.0]
name="Web"
platform="Web"
export_path="../export-errors.export/web/index.html"

[preset.1]
name="Windows Desktop"
platform="Windows Desktop"
export_path="../export-errors.export/win/coin.exe"

どちらのプリセットも、テンプレートの欄(custom_template/release="" など)は空でした。プロジェクトのほかのファイル(project.godot・scenes・scripts)は、1字も変わっていませんでした。

返事とは別に、同じ形のコマンドで、別の出力先へ書き出し直しました。どちらも ERROR の行は出ずに終わり、次のファイルができました。

書き出し先 できたファイル
Web index.html・index.js・index.wasm・index.pck・index.png・index.icon.png・index.apple-touch-icon.png・index.audio.worklet.js・index.audio.position.worklet.js(9つ)
Windows Desktop coin.exe(1つ)

Windows のプリセットには binary_format/embed_pck=true の行があり、ゲームの中身のファイル(.pck)は coin.exe の中に入っていて、できたファイルは1つでした。coin.exe を画面なしで60フレーム動かすと、エラーの行は出ずに終わりました。

Web は、いくつものファイルをサーバーから配って開く形で書き出されます。index.wasm は、エンジンの本体を WebAssembly(ブラウザの中で動かすための、機械向けの形のプログラム)にしたファイルで、index.pck がゲームの中身です。書き出したフォルダを手元の Python のサーバー(python -m http.server)で配り、ブラウザで index.html を開くと、タブの題に Coin Collector と出て、画面の左上の Score: 0、床、プレイヤー、コイン5つが出ました。ブラウザのコンソールに、エラーの行はありませんでした。

Web 版でキーを押して遊べるかと、coin.exe が窓を開いて遊べるかは、この試しでは確かめきれませんでした。

それでも直らないとき

export_presets.cfg ができたあとに、書き出せなかったときに出た文を2つ載せます。

コマンドに渡したプリセットの名前が、export_presets.cfg の中の名前と違うと、次の文が出て止まりました("Windows Desktop" を "Windows" と渡したとき)。文の下に、そのプロジェクトにあるプリセットの名前が並びます。名前に空白が入るときは、コマンドで名前を " で囲みます。

ERROR: Invalid export preset name: Windows.
The following presets were detected in this project's `export_presets.cfg`:

        "Web"
        "Windows Desktop"

   at: _fs_changed (editor/editor_node.cpp:1417)

書き出す先のフォルダがまだ無いと、次の文が出て止まりました。コマンドから書き出すときは、書き出す先のフォルダが先にある必要があります。書き出す先の道を相対の道で書くと、コマンドを走らせたフォルダではなく、project.godot のあるフォルダからの道になります。

ERROR: エクスポート: 対象となるフォルダが存在しないか、アクセスできません: "D:/Claude_Game_Site/drafts/W-143-A/export-errors.export/nofolder"
   at: add_message (./editor/export/editor_export_platform.h:270)
ERROR: Project export for preset "Web" failed.
   at: _fs_changed (editor/editor_node.cpp:1417)

書き出しには、書き出しのテンプレートが入っている必要があります。テンプレートは、エディタの Editor > Manage Export Templates... の画面で入れられます。この試しでは、テンプレートは先に入っていました。

情報源

Claude Code のほかのページ

このページに出た言葉