Unityでプレイデータの保存方法として、最も簡単な方法は PlayerPrefsを使った方法ではないでしょうか。
私の初心者向けの書籍でも、通常プレイデータの保存方法としてはPlayerPrefsを使用した方法を解説しています。
そして、この PlayerPrefsにはメモリからディスクへの保存を実行する関数として「PlayerPrefs.Save」が用意されています。
今回はこの関数を使わない時の、データ保存タイミングについてです。
今回はこの関数を使わない時の、データ保存タイミングについてです。
【結論】
基本的に私の初心者用 Unity基礎本では、この「PlayerPrefs.Save」を使っていないです。
この PlayerPrefs.Save関数を呼んでいないのに、なぜプレイデータがアプリを終了して再起動した際もデバイスに保存されているのか。
それは、アプリ終了時に意図的に PlayerPrefs.Saveを呼んでいなくても、アプリの正常終了時のOnApplicationQuit イベントでデータをデバイスに保存しております。
【注意点】
上記した通り、アプリが正常終了した際に OnApplicationQuit イベントが実行されるので、異常終了した場合はプレイデータは保存されません。
そのため、定期的に必要なタイミングで PlayerPrefs.Save関数でプレイデータを保存しておくのが良いでしょう。
しかし、この関数はそれなりに処理が重いようで、Unityの公式マニュアルも処理落ち等発生する可能性があるので、ゲームプレイ中の実行はお薦めしないと言っております。
シーンが切り替わる等、キープすべきプレイデータがあり、少しプレイの切れ目のようなタイミングで実行するのが良いでしょう。
Sponsored Link