PlayerPrefs - самый простой способ сохранить данные.Он предназначен для обработки базовых типов данных (int, string, float) и работает как словарь, поэтому вы можете просто сохранять строки JSON в виде пар ключ-значение.И нет ограничений по размеру для iOS или Android (в веб-плеере он ограничен 1 МБ).
// read
PlayerPrefs.GetString(string key, string value);
// write
PlayerPrefs.SetString(string key, string value);
// load and update
const saveKey = "level_N";
Private void SaveProgress()
{
string saveValue = "your JSON string";
string loadValue = PlayerPrefs.GetString(saveKey);
if (!saveValue.Equals(loadValue))
{
PlayerPrefs.SetString(saveKey, saveValue);
PlayerPrefs.Save();
}
}
Данные пользователя будут автоматически записываться на диск во время OnApplicationQuit (), но вы можете использовать PlayerPrefs.Save()
в случае сбоя вашей игры.
Сказав это, сохранение большого количества данных в PlayerPrefs на мобильных устройствах может быть медленным.Поэтому, если вы хотите улучшить производительность игры или вам нужно больше места, вы можете использовать Application.persistentDataPath
для сохранения данных в общедоступном каталоге на устройстве.Как и в PlayerPrefs, данные не очищаются при обновлении приложения.
FileStream file = File.Open(Application.persistentDataPath + "/gameInfo.dat", FileMode.Open);