да Unity сохраняет все данные (включая PlayerPrefs) в IndexedDB.
Вы можете увидеть эти файлы в Chrome DevTools в разделе «Приложение»:
Storage-> IndexedDB -> /idbfs {{YOUR SERVER}} -> FILE_DATA
Если вы создаете новую сборку с другой версией Unity или с другой машиной, значение хеш-значения которой изменяется. Таким образом, сохраненные файлы из старой сборки не могут быть найдены Applicaton.persistentDataPath
Обходной путь можно использовать LocalStorage
из вашего браузера, если вы сохраняете только строки или числа.
Вы можете написать некоторые функции javascript (например, в тегах <script>
в файле шаблона) для хранения там ваших текстовых данных - это очень похоже на PlayerPrefs:
var saveData = function(yourkey, yourdata){
localStorage.setItem(yourkey, yourdata);
}
для сохранения значений. И
var loadData = function(yourkey){
localStorage.getItem(yourkey);
}
чтобы получить их.
Создайте файл plugin.jslib в редакторе Unity и вызовите эти функции:
mergeInto(LibraryManager.library, {
GetData: function(yourkey){
if(typeof loadData !== 'undefined'){
loadData(Pointer_stringify(yourkey));
} else {
console.log("Javacript function not available...");
}
},
SetData: function(yourkey, yourdata){
if(typeof saveData !== 'undefined'){
saveData(Pointer_stringify(yourkey), Pointer_stringify(yourdata));
} else {
console.log("Javacript function not available...");
}
}
});
Теперь вы можете вызывать их из скрипта, как указано здесь