INDIE INDEX

レベル:入門

ゲームの保存先|セーブデータとログの場所(UnityとGodot)

公開 2026-10-23更新 2026-10-23

Unity の `Application.persistentDataPath` は実行と実行のあいだで残したいデータの置き場で、Windows の Editor と Player では普通 `%userprofile%\AppData\LocalLow\[companyname]\[productname]` を指します。Godot の `user://` は、書き出したあとも書き込めることが保証された場所を指します。

このページの目次
  1. セーブデータの置き場を表で見る(Windows・macOS・Linux)
  2. Godot の user:// が変わる設定
  3. スマホとブラウザの置き場
  4. ログの置き場
  5. 保存先とログの線を図で見る
  6. 自分のゲームの保存先を見る手順
  7. 失敗を避ける注意
  8. 公式のページの版
  9. 次に読む
  10. 情報源

セーブデータの置き場を表で見る(Windows・macOS・Linux)

Windows・macOS・Linux の置き場を、Unity と Godot(既定の設定)で並べます。

デスクトップのセーブデータの置き場

OSGodot(`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`)
表1

表の [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 それぞれの直下
表2

スマホとブラウザの置き場

Unity の Android・iOS・Web・tvOS と、Godot のモバイル・HTML5 の置き場を並べます。

スマホとブラウザのセーブデータの置き場

エンジン環境置き場
UnityAndroidほとんどの端末で `/storage/emulated/[userid]/Android/data/[packagename]/files`。一部の古い端末では、SD カードがあればその上の場所を指すことがあります
UnityiOS`/var/mobile/Containers/Data/` の中の `Application/[guid]/Documents`
UnityWebブラウザーの IndexedDB のファイルシステムの中の `/idbfs/[hash]`。`[hash]` は、アプリのウェブページがあるディレクトリの URL から作られる MD5 ハッシュで、`index.html` のようなファイル名や URL のクエリパラメーターでは変わりません
UnitytvOSサポートされず、空の文字列を返します
Godotモバイルプロジェクトごとに固有の場所で、セキュリティ上の理由から、ほかのアプリはアクセスできません
GodotHTML5 の書き出し`user://` は、デバイスに IndexedDB で保存される仮想ファイルシステムを指します。メインのファイルシステムとのやり取りは、JavaScriptBridge シングルトンで行えます
表3

Unity では、アプリをビルドするときに Bundle Identifier を元にした GUID が作られ、この GUID は persistentDataPath の一部になります。以降のバージョンでも同じ Bundle Identifier のままなら、アプリは更新のたびに同じ場所を使い続けます。

ログの置き場

Unity は、Editor・Package Manager・ライセンス・development Player・Hub のログファイルを出力します。メッセージ・警告・エラーのすべてを、Console ウィンドウからログファイルに書きます。自分のメッセージを Console ウィンドウとログに出すには、Debug クラスを使います。実行中の Editor か Player のログの場所は、プロジェクトのコードで Application.consoleLogPath から取得できますが、この機能はすべてのプラットフォームが対応しているわけではありません。

ログの置き場

エンジン環境ログの場所
UnityWindows(Player)`%USERPROFILE%\AppData\LocalLow\[companyname]\[productname]\Player.log`
UnitymacOS(Player)`~/Library/Logs/[companyname]/[productname]/Player.log`。Console.app でもログファイルを探せます
UnityLinux(Player)`~/.config/unity3d/[companyname]/[productname]/Player.log`
UnityAndroidAndroid logcat で見ます
UnityiOSGDB コンソールか、Xcode の Organizer コンソールで見ます
UnityWebブラウザーの JavaScript コンソールに出力されます
Godotデスクトップのプラットフォーム既定は `user://logs/godot.log`
表4

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 と Godot の保存先とログの線(Windows)実行したゲームが書く先(Windows)Unityセーブデータ`Application.persistentDataPath`Windows のフォルダーAppData の `LocalLow` の中の会社名のフォルダー(普通)ログPlayer のログWindows のフォルダー同じ `LocalLow` の中の `Player.log`Godotセーブデータ`user://`Windows のフォルダー`%APPDATA%` の中の `Godot` の `app_userdata`(既定)ログ`user://logs/godot.log`Windows のフォルダー`user://` が指すフォルダーの中
図1

自分のゲームの保存先を見る手順

  1. Unity では、MonoBehaviour を継承したクラスの Start() の中で、Application.persistentDataPath を引数にして Debug.Log を呼びます。Debug.Log のメッセージは Console ウィンドウとログに出ます。Player のログは、Console ウィンドウ(メインメニュー:Window > General > Console)の More (⋮) メニューから「Open Player Log」を選ぶと開けます。ログのある場所のフォルダーへ、ファイルマネージャーで直接移ることもできます。
  2. Godot では、print(ProjectSettings.globalize_path("user://")) で、user:// を OS の絶対パスに変えて出力できます。OS.shell_open(ProjectSettings.globalize_path("user://")) を呼ぶと、その場所を OS のファイルマネージャーで開けます。OS.shell_open() が受け付けるのは OS のネイティブなパスだけなので、globalize_path() で変えたパスを渡します。
  3. Windows のエクスプローラーで AppData フォルダーを見るには、Windows で Hidden Items の設定を有効にする必要があります。Unity の Editor のグローバルなログなどが入るフォルダーは、エクスプローラーに既定では表示されません。
  4. 遊んだ人にセーブデータやログの場所を伝える文には、上の表のとおりの 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 のクラウドセーブを設定する手順にあります。

情報源

このページに出た言葉

このページの内容の誤りは、問い合わせの窓口で受け付けています。