Zefirot
@Zefirot

Как прочесть ранее сохранённый файл при сборке?

"Сборные" префабы у меня весили многовато и поэтому я пошел на такой вариант - делаю этот префаб из нескольких префабов, далее там же в редакторе создаю файл и сохраняю там в определенной папке, это тектовый файл и там указаны где какие префабы должны находится (координаты, размеры и т.д.), сборный префаб 0.5мб-2мб, а вот txt с инфой 3кб, так что разница есть.
В чём же проблема - при тесте всё работает и читает, а вот после компиляции и установки на телефон как я понимаю файл не читает...
Хранится он у меня в редакторе
\Assets\Resources\Levels\1\Level-1.txt
\Assets\Resources\Levels\1\Level-2.txt

.... и так далее
читаю так
string LevelDataPath = "Assets/Resources/Levels/1/Level-1.txt";
if(File.Exists(LevelDataPath)){
  levelData = File.ReadAllText(LevelDataPath);
  }

Подскажите что не так, как правильно выполнить мою задумку?
То есть чтобы подготовленные txt файлы читать в игре, не сохранённые вне игры, всё же они только для чтения...

P.s. - в unity при запуске всё работает норм...

P.s.s. - нужно ли такие файлы кодировать? Или при сборке и так их нигде никак не прочитаешь?
  • Вопрос задан
  • 32 просмотра
Решения вопроса 1
GavriKos
@GavriKos Куратор тега Unity
Охх. Вот вы не первый раз уже страдаете этой фигней, а все никак выстрадать не можете... Неужели экономия стоит этих потраченых усилий? Вся остальная игра готова на 100%?

Отвечая на ваш вопрос. У вас две ошибки. Первая. Для текстовых "конфигов" надо использовать либо StreamingAssets (папка такая специальная, которая собирается несколько по другому), либо грузить как текстовый ресурс(во втором не уверен - уже очень давно такое не использовал).
Вторая - я так подозреваю что тестируете на андроиде... Так вот там чтение из СтримингАссетов (или из другой точки скомпилированного приложения) делается не через File, а через UnityWebRequest
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы