Когда заливаешь обновление на Яндекс Игры или itch.io, игра попадает на другой Simple Storage Service (S3) сервер. Например, сегодня Бурить-Копать! на Яндексе грузится, отсюда: h
ttps://app-258901.games.s3.yandex.net/258901/rsb34pc2hznuitjmsciekjqzs3ovokmh/index.html, а после обновления этот URL будет уже другой.PlayerPrefs в Unity WebGL привязан к URL, на котором находится игра, поэтому после каждого обновления настройки сбрасываются (а вернее старые настройки не могут загрузиться).Чтобы решить это проблему, я сделал
BetterPlayerPrefs. Это декоратор для стандартных PlayerPrefs, которые работают на всех платформах как обычно, но в вебе используют файловую систему idbfs, причём складывает данные независимо от URL, на котором находится игра. То есть данные сохраняются в браузере, но не потеряются после обновления.Я считаю, что настройки правильнее хранить именно таким образом. Сохранять, например, громкость звуков/музыки в облачное сохранение плохая идея, ведь игрок может хотеть иметь разные настройки на телефоне и на ПК.
Как обычно, делюсь пакетом с вами. Можно добавить его к себе через
Package Manager по git ссылке:https://github.com/SpellSingerGames/better-player-prefs.git
Синтаксис идентичен обычным
PlayerPrefs. Просто дописываете префикс Better (PlayerPrefs -> BetterPlayerPrefs), и всё работает. Если не работает, пишите в личку или комменты, разберёмся, исправим.#selfmade #самый_крутяк #веб_игры #яндекс_игры