無料・軽快な 2D / 3D 用のゲームエンジン Godot Engine 4 で、プロジェクト名を変更した際に、単体テスト用のアセット「GUT – Godot Unit Testing (Godot 4) 」が起動時にエラーメッセージを出力し、プロジェクト変更前の設定が読み込まれない場合の対処例を紹介します。
User フォルダのパスについても紹介します。
※ GUT に限らず、 user:// にデータを保存しているプラグインなどでも当てはまると思います。

※ GodotEngine 4.3 を使用しています。.NET 版ではありません。
※ GUT 9.3.1 を使用します。
※紹介する対処法は自己責任でご使用ください。
プロジェクト名とフォルダ名を変更してエディタで起動するまでの手順
最初に、この GUT のエラーメッセージが表示されるまでの手順を紹介します。
プロジェクト名を「プロジェクト設定」ダイアログの一般タブのツリー「アプリケーション」→「構成」の「名前」項目で変更して、エディタを閉じます。
※メニュー「プロジェクト」→「プロジェクト設定」で「プロジェクト設定」ダイアログは開きます。

プロジェクトフォルダの名前をプロジェクト名と同じ名前に変更します。
名前を変更したプロジェクトフォルダをインポートしてエディタを起動します。

エディタ起動時に出力ボトムパネルで以下のエラーメッセージが表示されました。
ERROR: Config File "user://gut_temp_directory/gut_editor_config.json" does not exist.

エラーメッセージに書かれた user フォルダを確認
エラーメッセージに書かれている「user://gut_temp_directory/gut_editor_config.json」を確認します。
user フォルダは、環境・プロジェクトによって異なりますが、Windows の場合は「%APPDATA%\Godot\app_userdata\プロジェクト名\」が、そのプロジェクトの user:// のフォルダになります。
On desktop platforms, the actual directory paths for
user://
are:File paths in Godot projects — Godot Engine (latest) documentation in English
Type Location Default Windows: %APPDATA%\Godot\app_userdata\[project_name]
macOS:~/Library/Application Support/Godot/app_userdata/[project_name]
Linux:~/.local/share/godot/app_userdata/[project_name]
エラーメッセージに書かれているパスの user:// を Windows のパスに直すと、以下のファイルパスを指します。
「%APPDATA%\Godot\app_userdata\プロジェクト名\gut_temp_directory/gut_editor_config.json」

この json ファイルのある gut_temp_directory フォルダを開くと、中身は空でした。

エディターで GUT ボトムパネルを確認すると、プロジェクト名変更前に設定していたテスト用のパスが消えていました。
また、その後、エディターを閉じても、フォルダは空で、 json ファイルは作られていませんでした。

変更前のプロジェクト名のフォルダの下にある gut_temp_direcotry フォルダには 3 つの json ファイルがありました。
- gut_editor.bbcode
- gut_editor.json
- gut_editor_config.json
検索しても変更前のプロジェクト名は含まれていないので、このファイルを、変更後のプロジェクト名のフォルダの下にある空の gut_temp_directory フォルダにコピーします。

ファイルをコピーした後に、GUT の動作を確認
エラーメッセージの “user://gut_temp_directory/gut_editor_config.json” など 3 つの json ファイルを、プロジェクト名変更前の user フォルダから、プロジェクト名変更後の user フォルダの gut_temp_directory フォルダにコピーした後、エディタを起動すると、出力ボトムパネルに、エラーメッセージが表示されなくなりました。

GUT ボトムパネルを開くと、以前の設定が読み込まれています。

GUT ボトムパネルの左上の Run All ボタンを押して、単体テストを実行すると、プロジェクト名変更前と同じくテストが実行されました。


プロジェクト名変更時は user フォルダに保存してあるデータに注意
プロジェクト名は「プロジェクト設定」ダイアログで変更できますが、プロジェクト名がフォルダ名として使われている user:// のパスの下に配置されているデータについては、移行されない場合があることがわかりました。
プロジェクト名を変更した後は、 user:// に保存されているデータがないか、 Windows ならば「%APPDATA%\Godot\app_userdata\プロジェクト名\」を確認してみると良いでしょう。
※エクスプローラのパスを入力する欄に「%APPDATA%\Godot\app_userdata」と入力すると自動的に環境変数が実際のパスに変換されてアクセスできます。
プラグイン側はプロジェクト設定の変更を受信して対応できるかも
プラグインが、プロジェクト設定の変更を知ることができれば、新たな user:// のパスに設定を保存することもできて、このようなエラーや設定の初期化を防げると思います。
その実装のために、ProjectSettings の settings_changed シグナルと接続する方法が有効だと思います。
※以前は、EditorPlugin クラスの project_settings_changed シグナルがありましたが、今は非推奨になりました。
まとめ
今回は、無料・軽快な 2D / 3D 用のゲームエンジン Godot Engine 4 で、プロジェクト名を変更した際に、単体テスト用のアセット「GUT – Godot Unit Testing (Godot 4) 」が起動時にエラーメッセージを出力し、プロジェクト変更前の設定が読み込まれない場合の対処例を紹介しました。
User フォルダのパスについても紹介しました。
参照サイト Thank You!
- Godot Engine – Free and open source 2D and 3D game engine
- GUT – Godot Unit Testing (Godot 4) – Godot Asset Library
- File paths in Godot projects — Godot Engine (latest) documentation in English
- EditorPlugin — Godot Engine (4.x)の日本語のドキュメント #project_settings_changed
- ProjectSettings — Godot Engine (4.x)の日本語のドキュメント #settings_changed
記事一覧 → Compota-Soft-Press
コメント