PlayerPrefs будет работать кроссплатформенно, но не рекомендуется для сохранения прогресса игры, потому что это небезопасно. Как обычный текстовый файл, игрок может легко открыть его и изменить содержимое на читерское, или заставить вашу игру вести себя непредсказуемо. Также не гарантировано, чтобы остаться.
PlayerPrefs предназначен для получения несущественной информации о предпочтениях, такой как сопоставление элементов управления или настройки музыки / sfx - вещи, которые игрок может свободно изменять в любом случае, и он не будет ужасно пропустить, если будет (в Windows, например) использовать точку восстановления системы и потеряет часть их регистрационной информации. Если это потеряло их высокие результаты или прогресс кампании, игроки были бы справедливо расстроены!
Вместо этого рекомендуется сохранять ход игрового процесса в своем собственном файле (обычно двоичном, возможно зашифрованном или подписанном, если вы хотите усложнить его изменение, но см. Комментарий Филиппа ниже).
Вы можете использовать Application.persistentDataPath, чтобы получить надежное местоположение для сохранения на каждой платформе. Обычно это папка с данными пользователя, которая не будет уничтожена в случаях, подобных примеру выше.
Если у вас есть путь для сохранения, вы можете использовать обычные методы ввода-вывода C # для создания, записи и чтения вашего файла. Детали будут сильно различаться в зависимости от формата и структуры сохраняемого файла, поэтому, если у вас возникнут проблемы, лучше задать новый вопрос с подробным описанием того, что вы пытаетесь сделать, и где вы застряли.
На сайте Unity есть видео, в котором рассматриваются два основных варианта сохранения (PlayerPrefs и создание собственного файла сохранения). Видео можно найти здесь: http://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/persistence-data-saving-loading?playlist=17117
источник
PlayerPrefs - это магазин K / V, разработанный для того, чтобы «просто работать» независимо от того, для какой платформы вы строите. Я говорю, просто продолжайте использовать это, если у вас нет веских причин не делать этого.
источник
Таким образом, наилучшим способом является сохранение на стороне сервера? Конвертируйте всю сохраненную необходимую информацию в строку json и сохраните ее на собственном сервере mysql в виде строковых данных, а когда потребуется загрузить, подключитесь к серверу и восстановите его?
источник