Папка уровня и бэкапы
Уровень лежит в своей папке в levels внутри папки игры. Файлы, которые он использует, не переименовывайте, а полный бэкап - это копия папки уровня
Что лежит в папке
Папка уровня лежит в levels внутри папки игры. Где папка игры - Установка
| Файл | Что это |
|---|---|
level.json | содержимое уровня. В бинарном формате - level.blob |
metadata.json | название, описание, авторы, теги. В бинарном формате - metadata.blob |
logo.png или logo.jpg | обложка |
| трек, картинки, шрифты | всё остальное, что использует уровень, прямо рядом с level.json |
Рядом с levels лежит resources с общими библиотеками устройства: themes, effects, shapes, prefabs.
Они не часть уровня. Туда вы экспортируете то, что хотите переиспользовать, и оттуда импортируете
В той же папке resources лежит collections, по папке на коллекцию. Подробнее - Библиотека и коллекции
Уровень, отправленный другому человеку, несёт всё нужное внутри себя. Библиотеки с ним не едут
Чего не трогать руками
Не переименовывайте файлы, которые использует уровень. Ссылки на них хранятся по именам, поэтому переименованный файл - это пропавший файл
Не правьте level.json в текстовом редакторе, пока уровень открыт в игре. Сохранение из редактора молча перезапишет ваши правки
Не держите в папке уровня то, чего уровень не использует. Оно поедет вместе с папкой
Формат файла определяется расширением, а не записью внутри. Поэтому смена формата в редакторе пишет новый файл и удаляет старый. Иначе на диске лежали бы два файла, и нельзя было бы понять, какой настоящий
Если одного из двух файлов нет
Папка, в которой есть только level.json или только metadata.json, всё равно видна в списке уровней. Двоичные level.blob и metadata.blob считаются так же
| Чего нет | В игре | В редакторе |
|---|---|---|
level.json | карточка полная, но уровень не запустить | восстанавливается из последней копии автосохранения. Если копий нет, записывается пустой уровень |
metadata.json | на карточке имя папки, уровень играется | записывается новый metadata.json с именем папки и настройками по умолчанию |
metadata.json, который игра не может прочитать, считается отсутствующим. Перед записью нового редактор переносит его в metadata.json.bak, так что ничего не теряется
Перед записью редактор спрашивает подтверждение. Встроенный уровень или уровень из мастерской на месте не меняется: без metadata.json его предлагается скопировать, а без level.json его не открыть
Бэкапы и восстановление
Полный бэкап - это копия папки уровня. В ней есть всё, включая ресурсы. Делайте копию перед каждой большой переделкой и подписывайте её датой
Автосохранение хранит только файл уровня. Без метаданных, трека и картинок.
Каждое автосохранение кладёт копию в backups/<id уровня>/ в папке игры, вне levels. Хранится 25 копий. Как восстановить копию - Не потерять работу › Автосохранение
Уровень в Json, который перестал открываться, не потерян. Файл текстовый, его можно открыть любым текстовым редактором и поправить глазами. Сама игра не открывает уровень, который не загружается, поэтому вкладка Сырые данные здесь не поможет. Она показывает модель уже открытого уровня
Blob так не спасти. Он бинарный, и повреждённый файл отвергается целиком, а не читается частично
Что знать перед правкой во вкладке Сырые данные - Не потерять работу › Вкладка Raw