ニュース

Top  >   17. データ保存  >   Q, ゲームのセーブデータをVRヘッドセット内に保存したい

Q, ゲームのセーブデータをVRヘッドセット内に保存したい

2026/03/18

メインコンテンツへスキップ
< すべてのカテゴリに戻る

A,結論

VR ヘッドセット内へセーブするなら、設定程度は PlayerPrefs、ゲーム進行データは persistentDataPath 配下の JSON やバイナリ保存が基本です。

原因 / 背景

  • PlayerPrefs は手軽ですが、複雑なデータ管理には向きません。
  • ステージ進行、所持品、位置情報などを扱うなら、ファイルとして保存した方が拡張しやすく安全です。

実装 / 手順

  1. まず保存したいデータ構造をクラス化し、JsonUtility などで JSON 化して Application.persistentDataPath に書き出します。
  2. 起動時はファイル存在確認を行い、なければ初期データを生成してください。
  3. セーブ中断対策として、一時ファイル保存やバージョン番号の管理も入れておくと実務向きです。

サンプルコード

using System.IO;
using UnityEngine;

[System.Serializable]
public class SaveData
{
    public int clearedStage;
    public float masterVolume;
}

public class SaveDataManager : MonoBehaviour
{
    private string SavePath => Path.Combine(Application.persistentDataPath, "save.json");

    public void Save()
    {
        SaveData data = new SaveData
        {
            clearedStage = 3,
            masterVolume = 0.8f
        };

        File.WriteAllText(SavePath, JsonUtility.ToJson(data, true));
        Debug.Log($"Saved to: {SavePath}");
    }

    public SaveData Load()
    {
        if (!File.Exists(SavePath))
        {
            return new SaveData();
        }

        string json = File.ReadAllText(SavePath);
        return JsonUtility.FromJson<SaveData>(json);
    }
}

※ 実機確認が必要な項目は、Editor だけで判断せず対象デバイスでも必ず動作確認してください。

難易度:Level 2(初心者)
対象プラットフォーム:PC,Android,iOS,VR,Unity
関連キーワード:openxr,PlayerPrefs,XR Interaction Toolkit,セーブ,データ保存,永続化

Level 1-2 向けバナー