ゲームの保存先|セーブデータとログの場所(UnityとGodot)
Unity の `Application.persistentDataPath` は実行と実行のあいだで残したいデータの置き場で、Windows の Editor と Player では普通 `%userprofile%\AppData\LocalLow\[companyname]\[productname]` を指します。Godot の `user://` は、書き出したあとも書き込めることが保証された場所を指します。
このページの目次
セーブデータの置き場を表で見る(Windows・macOS・Linux)
Windows・macOS・Linux の置き場を、Unity と Godot(既定の設定)で並べます。
デスクトップのセーブデータの置き場
| OS | Godot(`user://`・既定) | Unity(`Application.persistentDataPath`) |
|---|---|---|
| Windows | `%APPDATA%\` の中の `Godot\app_userdata\[project_name]`(既定の設定) | Editor と Player で、普通 `%userprofile%\AppData\LocalLow\[companyname]\[productname]` |
| macOS | `~/Library/Application Support/` の中の `Godot/app_userdata/[project_name]`(既定の設定) | Editor は `~/Library/Application Support/[companyname]/[productname]`。Player は `~/Library/Application Support/unity.[companyname].[productname]` で、Editor の場所のディレクトリがすでにあれば、Editor の場所を使います |
| Linux | `~/.local/share/` の中の `godot/app_userdata/[project_name]`(既定の設定) | `$XDG_CONFIG_HOME/unity3d/[companyname]/[productname]`(`$XDG_CONFIG_HOME` の既定は `~/.config`) |
表の [companyname]・[productname] などの角括弧は、そこに実際の名前が入ることを表します。Godot の [project_name] は、Project Settings で決めたアプリケーション名が元になります。プラットフォームごとに、feature tags で上書きできます。
Godot の user:// が変わる設定
Godot の user:// の場所は、Project Settings の設定で変わります。既定では、Godot のエディターデータのパスの中の app_userdata/[project_name] フォルダーに作られます。
application/config/use_custom_user_dir を有効にすると、user:// のフォルダーは Godot のエディターデータのパスの隣、つまりアプリケーションデータの標準の場所に作られます。フォルダー名は既定ではプロジェクト名から決まり、application/config/custom_user_dir_name で変えられます。この名前にはパスの区切りを入れられるので、たとえば Studio Name/Game Name の形でスタジオごとにプロジェクトをまとめられます。
Godot の user:// の場所を変える設定
| 設定 | フォルダー名 | 置かれる先 |
|---|---|---|
| 既定(`app_userdata`) | `app_userdata/[project_name]` | Godot のエディターデータのパスの中(上の表のとおり) |
| `use_custom_user_dir` を有効 | プロジェクト名から決まる `[project_name]` | Godot のエディターデータのパスの隣。Windows は `%APPDATA%\` の直下、macOS は `~/Library/Application Support/` の直下、Linux は `~/.local/share/` の直下 |
| `use_custom_user_dir` を有効にして `custom_user_dir_name` を設定 | `[custom_user_dir_name]` | 上の行と同じ、Windows・macOS・Linux それぞれの直下 |
スマホとブラウザの置き場
Unity の Android・iOS・Web・tvOS と、Godot のモバイル・HTML5 の置き場を並べます。
スマホとブラウザのセーブデータの置き場
| エンジン | 環境 | 置き場 |
|---|---|---|
| Unity | Android | ほとんどの端末で `/storage/emulated/[userid]/Android/data/[packagename]/files`。一部の古い端末では、SD カードがあればその上の場所を指すことがあります |
| Unity | iOS | `/var/mobile/Containers/Data/` の中の `Application/[guid]/Documents` |
| Unity | Web | ブラウザーの IndexedDB のファイルシステムの中の `/idbfs/[hash]`。`[hash]` は、アプリのウェブページがあるディレクトリの URL から作られる MD5 ハッシュで、`index.html` のようなファイル名や URL のクエリパラメーターでは変わりません |
| Unity | tvOS | サポートされず、空の文字列を返します |
| Godot | モバイル | プロジェクトごとに固有の場所で、セキュリティ上の理由から、ほかのアプリはアクセスできません |
| Godot | HTML5 の書き出し | `user://` は、デバイスに IndexedDB で保存される仮想ファイルシステムを指します。メインのファイルシステムとのやり取りは、JavaScriptBridge シングルトンで行えます |
Unity では、アプリをビルドするときに Bundle Identifier を元にした GUID が作られ、この GUID は persistentDataPath の一部になります。以降のバージョンでも同じ Bundle Identifier のままなら、アプリは更新のたびに同じ場所を使い続けます。
ログの置き場
Unity は、Editor・Package Manager・ライセンス・development Player・Hub のログファイルを出力します。メッセージ・警告・エラーのすべてを、Console ウィンドウからログファイルに書きます。自分のメッセージを Console ウィンドウとログに出すには、Debug クラスを使います。実行中の Editor か Player のログの場所は、プロジェクトのコードで Application.consoleLogPath から取得できますが、この機能はすべてのプラットフォームが対応しているわけではありません。
ログの置き場
| エンジン | 環境 | ログの場所 |
|---|---|---|
| Unity | Windows(Player) | `%USERPROFILE%\AppData\LocalLow\[companyname]\[productname]\Player.log` |
| Unity | macOS(Player) | `~/Library/Logs/[companyname]/[productname]/Player.log`。Console.app でもログファイルを探せます |
| Unity | Linux(Player) | `~/.config/unity3d/[companyname]/[productname]/Player.log` |
| Unity | Android | Android logcat で見ます |
| Unity | iOS | GDB コンソールか、Xcode の Organizer コンソールで見ます |
| Unity | Web | ブラウザーの JavaScript コンソールに出力されます |
| Godot | デスクトップのプラットフォーム | 既定は `user://logs/godot.log` |
Godot のファイルログは、各セッションで新しいログファイルが作られ、古いファイルは入れ替えた日付を含む名前に変わります。
debug/file_logging/log_path でログの場所を変えられます。debug/file_logging/max_log_files は残すログファイルの数を決める設定で、既定では最大 5 つが残ります。debug/file_logging/enable_file_logging で、ファイルへのログを完全に無効にできます。
保存先とログの線を図で見る
Windows の場合の、Unity と Godot のセーブデータとログの線を、図にまとめます。
Unity と Godot の保存先とログの線(Windows)
自分のゲームの保存先を見る手順
- Unity では、
MonoBehaviourを継承したクラスのStart()の中で、Application.persistentDataPathを引数にしてDebug.Logを呼びます。Debug.Logのメッセージは Console ウィンドウとログに出ます。Player のログは、Console ウィンドウ(メインメニュー:Window > General > Console)の More (⋮) メニューから「Open Player Log」を選ぶと開けます。ログのある場所のフォルダーへ、ファイルマネージャーで直接移ることもできます。 - Godot では、
print(ProjectSettings.globalize_path("user://"))で、user://を OS の絶対パスに変えて出力できます。OS.shell_open(ProjectSettings.globalize_path("user://"))を呼ぶと、その場所を OS のファイルマネージャーで開けます。OS.shell_open()が受け付けるのは OS のネイティブなパスだけなので、globalize_path()で変えたパスを渡します。 - Windows のエクスプローラーで AppData フォルダーを見るには、Windows で Hidden Items の設定を有効にする必要があります。Unity の Editor のグローバルなログなどが入るフォルダーは、エクスプローラーに既定では表示されません。
- 遊んだ人にセーブデータやログの場所を伝える文には、上の表のとおりの OS ごとの道を使えます。
失敗を避ける注意
Godot の res:// が指すプロジェクトのファイルシステムは、ゲームの実行中はおそらく読み取り専用です。user:// が指すフォルダーは、書き出したあとのプロジェクトでも書き込めることが保証されています。
Godot で print() のログがファイルに書かれるのは、エンジンが標準出力をフラッシュするときです。標準出力は、デバッグビルドでは print() のたびにフラッシュされますが、リリースで書き出したプロジェクトでは、プロジェクトが終了するかクラッシュするときにだけフラッシュされます。標準エラー(printerr()・push_error()・push_warning())は、リリースで書き出したプロジェクトでも毎回フラッシュされます。リリースの書き出しでも print() のたびに標準出力をフラッシュさせたいときは、Project Settings の application/run/flush_stdout_on_print を有効にします。
Godot のプロジェクトがクラッシュしたときのクラッシュログは、ログファイルと同じファイルに書かれます。役に立つバックトレースが入るのは、実行したバイナリにデバッグシンボルが入っているか、バイナリに合うデバッグシンボルのファイルが見つかる場合だけです。Godot の公式の配布のバイナリにはデバッグシンボルが無いので、カスタムビルドが要ります。
Unity で iOS と Android に公開したとき、persistentDataPath は、端末上の公開されたディレクトリを指します。ファイルを消せるのはユーザーが直接行うときだけで、アプリのアップデートでは消えません。
公式のページの版
上の表と手順の道は、Unity 6.0(Application.persistentDataPath)・Unity 6.6(ログ)・Godot 4.7 のものです。
次に読む
Steam のクラウドセーブの設定は、Steam のクラウドセーブを設定する手順にあります。
情報源
- Application.persistentDataPath(Unity の公式ドキュメント)https://docs.unity3d.com/ja/current/ScriptReference/Application-persistentDataPath.html確認日 2026-10-23
- Log files reference(Unity の公式ドキュメント)https://docs.unity3d.com/Manual/log-files.html確認日 2026-10-23
- File paths in Godot projects(Godot Engine の公式ドキュメント)https://docs.godotengine.org/en/stable/tutorials/io/data_paths.html確認日 2026-10-23
- Logging(Godot Engine の公式ドキュメント)https://docs.godotengine.org/en/stable/tutorials/scripting/logging.html確認日 2026-10-23