The level folder and backups
A level lives in its own folder in levels inside the game's folder. Do not rename the files it uses, and a full backup is a copy of the level folder
What is in the folder
The level folder lives in levels inside the game's folder. Where the game's folder is - Installation
| File | What it is |
|---|---|
level.json | the level's content. In the binary format - level.blob |
metadata.json | name, description, authors, tags. In the binary format - metadata.blob |
logo.png or logo.jpg | the cover |
| the track, images, fonts | everything else the level uses, right next to level.json |
Next to levels sits resources with the device-wide libraries: themes, effects, shapes, prefabs.
They are not part of the level. You export there what you want to reuse, and import from there
The same resources folder holds collections, one folder per collection. More - Library and collections
A level sent to another person carries everything it needs inside itself. The libraries do not travel with it
What not to touch by hand
Do not rename the files the level uses. References to them are stored by name, so a renamed file is a missing file
Do not edit level.json in a text editor while the level is open in the game. Saving from the editor silently overwrites your edits
Do not keep anything in the level folder that the level does not use. It travels with the folder
The file format is decided by the extension, not by a field inside. So changing the format in the editor writes a new file and deletes the old one. Otherwise two files would sit on disk, and there would be no telling which one is real
When one of the two files is missing
A folder that has only one of level.json and metadata.json is still shown in the level list. The binary level.blob and metadata.blob count the same way
| Missing | In the game | In the editor |
|---|---|---|
level.json | the card is complete, but the level cannot be started | restored from the newest autosave copy. With no copies, an empty level is written |
metadata.json | the card shows the folder name, and the level plays | a new metadata.json is written with the folder name and default settings |
A metadata.json the game cannot read counts as missing. The editor moves it to metadata.json.bak before writing the new one, so nothing is lost
The editor asks before it writes anything. A built-in or Workshop level is never changed in place: one without metadata.json is offered as a copy, and one without level.json cannot be opened
Backups and recovery
A full backup is a copy of the level folder. It holds everything, resources included. Make a copy before every large rework and label it with the date
Autosave keeps the level file only. No metadata, track or images.
Each autosave puts a copy in backups/<level id>/ in the game's folder, outside levels. 25 copies are kept. How to restore a copy - Not losing your work › Autosave
A Json level that stopped opening is not lost. The file is text, so you can open it in any text editor and fix it by eye. The game itself does not open a level that fails to load, so the Raw Data tab does not help here. It shows the model of a level that is already open
A Blob cannot be saved that way. It is binary, and a damaged file is refused whole rather than read in part
What to know before editing in the Raw Data tab - Not losing your work › The Raw tab