HoloLens 2 における Unity PlayerPrefs データ保存場所について


Overview

Azure Remote Rendering 公式チュートリアル を試していたところ、PlayerPrefs.SetString が使用されていて、HoloLens 2 のどこにデータが格納されているか気になったので、調べてみました。

PlayerPrefs を使えば、ユーザー設定等のデータを手軽にローカル端末上で管理することができます。

以下、Azure Remote Rendering 公式チュートリアルに出てくる RemoteRenderingCoordinator.cs の一部抜粋です。Azure Remote Rendering の Session ID を記録し、次回起動時にも同一 Session ID が利用可能であれば、そのセッションに接続を行うという実装で PlayerPrefs が使用されています。

RemoteRenderingCoorinator.cs
    /// <summary>
    /// Keep the last used SessionID, when launching, connect to this session if its available
    /// 最後に使用した SessionID を保持し、アプリを起動時に、利用可能であれば、そのセッションに接続します。
    /// </summary>
    private string LastUsedSessionID
    {
        get
        {
            if (!string.IsNullOrEmpty(SessionIDOverride))
                return SessionIDOverride;

            if (PlayerPrefs.HasKey("LastUsedSessionID"))
                return PlayerPrefs.GetString("LastUsedSessionID");
            else
                return null;
        }
        set
        {
            PlayerPrefs.SetString("LastUsedSessionID", value);
        }
    }

Device Portal を使用して、Playerprefs.dat を探していると、
以下ディレクトリ配下に格納されていました。

HoloLens 2 における PlayerPrefs データ保存場所 ( PATH )

User Folders\LocalAppData\PackageName\LocalState\playerprefs.dat

See Also