Как в юнити сделать сохранение большого числа переменных?
Допустим, я сделал 2д программу для работы с личными карточками сотрудников, тут есть всевозможные таблицы и готовые анкеты, суммарно 677 поля, которые можно заполнить на одного человека. Мне нужно, чтобы это всё сохранялось, а потом при новом запуске подгружалось. В интернете нашлись только способы сохранения каждой переменной в отдельности, на примерах игр с сохранением позиций персонажа, уровня жизни, положение врагов и т. п. , что не превышает пару десятков переменных, и не долго вносить. Но мне бы хотелось узнать, есть ли способ сохранить всё сразу, не прописывая все те сотни, которые у меня есть.
Есть ли скрипт, который сохраняет вообще любое действие пользователя и программу/игру в целом? Или может быть есть еще что-то упрощённое?
Не рекомендую использовать для этого PlayerPrefs и стандартную сериализацию Unity https://docs.unity3d.com/2020.1/Documentation/Manu.... Почему не стоит использовать PlayerPrefs? Потому что если потом ты захочешь отредактировать или перенести куда-либо свои сохраненные данные это будет очень не удобно. А стандартная сериализация Юнити в Json очень много что не умеет сериализовать (например Dictionary или Enum человекопонятным языком а не цифрами)
Тебе подойдет просто сохранение Json в какую-либо папку (например в StreamingAssets или Resources). Для сериализации в Json настоятельно рекомендую использовать NewtonSoft (https://docs.unity3d.com/Packages/com.unity.nuget....). Вот гайд от Unity, как записывать различные файлы в StreamingAssets https://learn.unity.com/tutorial/working-with-the-...
Спасибо, это правда сработало. Теперь json сохраняет данные в папку. Правда есть маленькая проблема: у меня разные сохраняемые объекты находятся на разных панелях, из которых в конкретный момент времени может быть активна только одна (так надо). Когда переключаешься на другую, предыдущая выключается. И когда происходит сохранение, то сохраняются только данные объектов активной панели, и приходится переключаться на другие, и повторно тыкать сохранение, чтобы и их сохранить. С выгрузкой сохранений то же самое. Как это исправить? Я пользовался инструкциями этого видео https://youtu.be/4EcZaYrZrZw перестроил под себя, но там не обговаривался этот нюанс, так как там все объекты активные. Подскажите, пожалуйста
Серилизуете класс в джсон, джсон записываете в PlayerPrefs.
Но в целом можно под целевой платформой использовать что то другое, а не PlayerPrefs, и писать туда что угодно. Хоть БД используйте