Level File Management
The Unturned™ Level Editor saves the complete state of a map to disk as a structured set of files in the map folder. Understanding this file structure, the save format, and the loading mechanisms is essential for managing a map project through its development lifecycle. Every save operation writes to these files, every load operation reads from them, and every backup strategy depends on knowing which files contain which data and how they interact.
This article is a procedural tutorial covering every aspect of level file management: the save format and folder structure on disk, the save operation and its performance characteristics, loading levels through the recent list and file browser, the import function, auto-save and its absence, manual backup strategies, and recovery from corrupted or missing files. The article assumes the reader has created a map and placed objects in it following the preceding articles in this series.

Prerequisites
- A map project with at least one save operation completed, as documented in Level Editor UI and Navigation.
- Familiarity with the Windows file system and File Explorer. The map files are located in the Windows user folder, not in the Steam installation directory.
- A plain-text editor such as Notepad++ for inspecting and editing
Level.datand other configuration files. - Administrative access to the computer for file recovery operations (restoring from Recycle Bin or backup).
What you will learn
- How the Level Editor structures save data on disk, including every file and folder in the Level directory.
- How the save operation works, what triggers it, and how long it takes on different map sizes.
- How auto-save is configured and why the editor does not auto-save by default.
- How to load a level through the recent list, the file browser, and the import function.
- Where the map folder is located on disk and how to navigate to it.
- How to back up a level manually and how to restore from a backup.
- How to diagnose and resolve the most common save, load, and file corruption issues.
Background: how the Level Editor manages files on disk
The Level Editor reads and writes map data as individual files organized in a folder structure under the map's root directory. Each file stores a specific subset of the map data: terrain heightmaps, material splatmaps, object placements, foliage density data, road splines, and configuration metadata. The editor reads these files at load time, presents the combined data in the viewport, and writes changes back to the same files on save.
The map folder is a flat directory with no subproject or version control metadata unless the modder adds it manually. There is no single project file that bundles all map data. Each subsystem (terrain, objects, foliage, roads, spawns) writes to its own file or directory.
As shown in the flowchart above, the save operation writes each subsystem's data independently. If any subsystem write fails, the save marker is not written and the editor reports a save failure in the status bar.
Level folder structure on disk
The map folder is located at:
C:\Users\<username>\Documents\My Games\Unturned\Maps\<MapName>\Replace <username> with the current Windows user name and <MapName> with the map's folder name. This path uses the Windows user folder, not the Steam installation folder. Each map has its own subfolder named with the map's folder name.
Complete file tree
The map folder contains the following files and subdirectories after the first save:
MapName/
├── Level/
│ ├── Level.dat <- level metadata (name, version, GUID, fog, sky, difficulty)
│ ├── Objects.dat <- all placed object data (positions, rotations, properties)
│ ├── Roads.dat <- road spline data (control points, materials, widths)
│ ├── Terrain/
│ │ ├── Heightmap.png <- 16-bit grayscale heightmap (one per tile)
│ │ ├── Splatmap.png <- terrain material layer blend weights (one per tile)
│ │ └── Materials.dat <- terrain material layer configuration
│ ├── Foliage/
│ │ └── (foliage region files, extension .foliage)
│ ├── Spawns/
│ │ ├── Animals.dat <- animal spawn table definitions
│ │ ├── Vehicles.dat <- vehicle spawn table definitions
│ │ ├── Items.dat <- item spawn table definitions
│ │ └── Zombies.dat <- zombie spawn table definitions
│ └── Config.json <- optional level configuration (workshop dependencies)
├── Bundles/
│ └── <BundleName>.unity3d <- master bundle with custom assets
└── Config.json <- optional map-level configurationThe Level/ subdirectory is the canonical representation of the map. The Bundles/ subdirectory holds the master bundle that contains custom assets used on the map. The master bundle is not managed by the Level Editor save operation; it must be exported from Unity and copied to the Bundles/ folder separately.
File-by-file description
| File | Format | Size range | Description |
|---|---|---|---|
Level.dat | Plain text (key-value) | 1-10 KB | Level metadata including name, version, GUID, fog settings, sky settings, and difficulty |
Objects.dat | Binary (compressed) | 100 KB - 50 MB | Serialized object placement data including position, rotation, scale, and type-specific properties |
Roads.dat | Binary | 10 KB - 5 MB | Road spline control points, road material references, and width data |
Heightmap.png | 16-bit grayscale PNG | 500 KB - 10 MB per tile | Elevation data encoded as grayscale pixel values |
Splatmap.png | Multi-channel PNG | 1 MB - 20 MB per tile | Material layer blend weights per texel |
Materials.dat | Plain text (key-value) | 1-10 KB | Terrain material layer assignments and physics surface types |
| Foliage files | Binary | 100 KB - 50 MB total | Per-region foliage density and type data |
| Spawn files | Plain text (key-value) | 1-100 KB each | Spawn table definitions with item/vehicle/zombie/animal entries |
Naming conventions
The map folder name must be alphanumeric with underscores. Spaces, special characters, and non-ASCII characters are not allowed in the folder name. The folder name is used as the map's internal identifier in the game's map list and in command-line launch parameters.
The Level.dat file's Name field, which is the display name shown in the server browser, is independent of the folder name. The display name may contain spaces and special characters.
Save operation
The save operation writes the current editor state to the map folder.
Manual save
Step 1: Click the Save icon in the File operations group on the toolbar, or press Ctrl+S.
Step 2: The editor writes all current terrain heightmap data, splatmap data, object placements, foliage data, road spline data, and configuration changes to the Level folder. A save progress indicator appears in the status bar.
Step 3: When the save completes, the status bar displays "Level saved" for approximately two seconds.
On-screen appearance: During save, the status bar displays "Saving level..." with an indeterminate progress bar. The viewport remains interactive but some toolbar buttons are disabled until the save completes.
Save performance
Save time scales with the amount of object and foliage data:
| Map size | Typical object count | Typical save time |
|---|---|---|
| Tiny | ~100 objects | Under 1 second |
| Small | ~500 objects | 1-2 seconds |
| Medium | ~8,000 objects | 2-5 seconds |
| Large | ~25,000 objects | 5-15 seconds |
| Insane | ~80,000 objects | 15-45 seconds |
Save time also depends on the storage hardware. NVMe SSDs are significantly faster than mechanical hard drives for save operations.
The cohort save discipline
The Level Editor does not have an auto-save feature. The 57 Studios™ cohort recommends the following save discipline:
- Save after every significant placement or terrain stroke.
- Save before switching to a different tool or opening a panel.
- Save before any operation that cannot be reversed manually.
- Save at intervals of no more than five minutes during active editing sessions.
- Save before navigating to a different area of the map.
Failure mode: save button produces no response
If the Save icon appears clicked but no save progress appears in the status bar, the save operation is blocked by an ongoing process such as asset loading or foliage generation. Wait for the ongoing process to finish. If the save button remains unresponsive for more than 30 seconds, close the editor and reopen the map. Do not force-close the editor during an active save, as this can corrupt the level files.
Failure mode: save is very slow
If a save operation takes significantly longer than the typical times listed above, the most likely cause is that the map contains an unusually large number of objects in a single Objects.dat file, or the foliage data is very dense. Large maps with dense foliage coverage on a mechanical hard drive can show save times of 60 seconds or more. Consider reducing foliage density or moving the map folder to an SSD.
Auto-save configuration
The Level Editor does not have an auto-save feature in the standard installation. The editor relies entirely on manual save operations. Auto-save can be enabled through a launch parameter or by modifying the editor configuration file.
Launch parameter method
Add the following launch parameter to the Steam Launch Options for Unturned:
-SaveInterval=<seconds>Replace <seconds> with the desired interval between auto-saves. For example, -SaveInterval=120 triggers an auto-save every 120 seconds. The minimum recommended interval is 60 seconds. Shorter intervals can cause performance degradation during active editing.
Editor configuration method
Open the editor configuration file at:
%USERPROFILE%\Documents\My Games\Unturned\Config\EditorConfig.jsonAdd or modify the SaveInterval field:
json
"SaveInterval": 120The value is in seconds. A value of 0 disables auto-save.
Auto-save behavior
When auto-save is active, the save operation triggers automatically at the configured interval regardless of whether any changes have been made since the last save. The auto-save uses the same mechanism as manual save. The status bar displays "Saving level..." during auto-save, and toolbar buttons are disabled during the save.
Failure mode: auto-save interrupts an editing operation
If auto-save triggers during a brush stroke or a transform drag, the operation is not interrupted. The save waits for the current operation to complete before writing. This means that auto-save may occur up to the configured interval plus the duration of any editing operation in progress.
Loading existing levels
The Level Editor provides three methods for loading an existing level.
Method 1: Recent list
When the Edit Level button is clicked on the main menu, the map selection dialog displays a list of recently edited maps at the top of the dialog. The recent list shows the last 10 maps that were opened in the editor, sorted by date of last access.
Step 1: Click Play on the main menu. Step 2: Click Edit Level. The map selection dialog opens. Step 3: If the target map appears in the recent list, click it directly. The editor loads the map.
Failure mode: If a map saved with the command-line launch parameter (-editlevel) does not appear in the recent list, open it once through the Edit Level dialog to register it in the recent list.
Method 2: File browser
If the target map is not in the recent list, use the file browser within the map selection dialog.
Step 1: In the map selection dialog, click Browse. A file browser opens at the default Maps/ directory. Step 2: Navigate to the target map's folder. The map folder must contain a Level/ subfolder with valid level data. Step 3: Select the map folder and click Open. The editor loads the map.
Method 3: Import
The import function loads a map that is stored in a compressed or transferred format, such as a Workshop download or a packaged archive.
Step 1: In the map selection dialog, click Import. Step 2: Browse to the location of the map file or folder. The import function accepts map folders and compressed archives. Step 3: Select the source and confirm. The editor copies the map into the Maps/ directory, then opens it.
Where level files are stored on disk
The map folder is located in the Windows user documents directory, not in the Steam installation directory. The full path is:
C:\Users\<username>\Documents\My Games\Unturned\Maps\<MapName>\Steam Workshop maps
Workshop maps are stored in a different location:
C:\Program Files (x86)\Steam\steamapps\workshop\content\304930\<workshopID>\The <workshopID> is the numeric identifier assigned by Steam Workshop. The folder structure inside the Workshop directory is the same as a local map folder: a Level/ subdirectory, a Bundles/ subdirectory, and so on.
Server maps
On an Unturned Dedicated Server, the map folder is located at:
<serverroot>\Servers\<serverID>\Maps\<MapName>\The server may use a different Maps directory depending on the server configuration. The ServerDetails.dat file in the server root specifies the Maps path.
Failure mode: cannot find the map folder
If the map folder is not visible in File Explorer at the expected path, verify that File Explorer is configured to show hidden and system files. The AppData variant of the maps path is used by some Unturned installations:
C:\Users\<username>\AppData\LocalLow\Smartly Dressed Games\Unturned\Maps\<MapName>\Check both locations if the standard path does not contain the expected folders.
Backup and recovery
The Level Editor does not provide a built-in backup feature. All backups must be performed manually by the modder.
Manual backup procedure
Step 1: Close the Level Editor. Backing up an open map may produce an inconsistent copy.
Step 2: Navigate to the map folder at C:\Users\<username>\Documents\My Games\Unturned\Maps\<MapName>\.
Step 3: Copy the entire Level/ subdirectory to a backup location. The backup location should be on a different physical drive or a cloud storage service.
Step 4: Name the backup folder with a descriptive name and date, such as Level_backup_2026-07-26_after_terrain_pass2.
What to back up
| Data | Backup priority | Backup frequency |
|---|---|---|
| Entire Level/ directory | Critical | After every major editing session |
| Level.dat and Spawns/ | High | After every metadata or spawn table change |
| Bundles/ directory | High | After every bundle update from Unity |
| Full map folder | Recommended | Before publishing or major restructuring |
Full map folder backup
For a complete backup that includes all assets and configuration, copy the entire map folder (including Bundles/) rather than just the Level/ subdirectory. This preserves the master bundle and any auxiliary files that may not be in the Level/ directory.
Recovery from backup
Step 1: Navigate to the map folder.
Step 2: Rename the current Level/ directory to Level_corrupted/ to preserve it for potential forensic analysis.
Step 3: Copy the backup Level/ directory into the map folder.
Step 4: Open the map in the editor and verify that the restored data is correct.
Recovery of individual files
If only one file is corrupted (for example, Objects.dat), replace that single file from the backup rather than restoring the entire Level/ directory. The other files in the Level/ directory remain valid as long as their corresponding editor operations (terrain sculpting, foliage painting, metadata editing) have not changed them since the backup was made.
Failure mode: corrupted Level.dat
If Level.dat is missing or corrupted, the map may fail to load or may load with default metadata. To recover, create a new Level.dat file with at minimum the required fields:
Name MyMapName
Size Medium
GUID 0123456789abcdef0123456789abcdef
Version 3.0.0.0The GUID must match the map's original GUID. If the original GUID is unknown, generate a new one. Note that changing the GUID after the map has been published will break every save file and server configuration that references the old GUID.
Failure mode: corrupted Objects.dat
If Objects.dat is corrupted, the map loads with flat terrain and no objects. The objects cannot be recovered from the corrupted file. Restore from the most recent backup. If no backup is available, the objects must be re-placed manually. The 57 Studios™ cohort strongly recommends backing up Objects.dat before any large-scale object placement session.
Failure mode: corrupted Heightmap.png
If the heightmap PNG is corrupted, the terrain loads as a completely flat plane at elevation 0. Restore the Level/Terrain/ directory from the most recent backup. If no backup is available, the terrain must be re-sculpted from scratch.
Loading maps across system transfers
When transferring a map project to a different computer (for collaboration or for testing), the complete map folder must be copied. The minimum required files are the Level/ directory and the Bundles/ directory.
Transfer checklist
- Copy the full map folder including
Level/andBundles/subdirectories. - Place the folder in the same relative path on the target system:
Documents\My Games\Unturned\Maps\<MapName>\. - Verify that the target system has the same mod dependencies installed (Workshop mods, custom asset bundles).
- Open the map in the editor on the target system and confirm it loads without errors.
Transfer failure mode: missing assets on target system
If the map loads but objects appear invisible or with pink materials, the required master bundles are not present in the map's Bundles/ directory on the target system. Copy the Bundles/ directory from the source system or reinstall the required mods through Steam Workshop.
Frequently asked questions
How do I verify that a save operation completed successfully?
After saving, the status bar displays "Level saved" for approximately two seconds. If this message does not appear, the save may have failed. Check the Level/ directory's modification timestamp in File Explorer. The timestamp of Level.dat should match the time of the save operation. If the timestamp has not changed, the save did not complete. Try saving again.
Can I save a map with a different name or to a different folder?
No. The save operation always writes to the map's original folder using the map's original folder name. To create a copy of the map under a different name, close the editor, copy the entire map folder to a new folder with the desired name, and open the copy in the editor. The copy is an independent map with its own save destination.
What happens to spawn table changes if I only save the level metadata?
The save operation writes all data at once, including spawn tables, terrain data, and object placements. There is no selective save that writes only metadata. Any change made since the last save is included in the next save operation. The exception is the master bundle, which is not managed by the save operation.
How do I know which version of a map I am working on?
The version number is displayed in the Level Settings panel, opened by pressing L. The version field shows the current version in #.#.#.# format. The version is also stored in Level.dat and can be read externally when the editor is closed.
How often should I save my map?
The 57 Studios™ cohort recommends saving at intervals of no more than five minutes during active editing sessions, and immediately after every significant operation (a terrain pass, a batch of object placements, a spawn table configuration change). The editor has no auto-save by default, so the save discipline is entirely manual.
What happens if I close the editor without saving?
All changes made since the last save are lost. The editor does not prompt to save changes on exit. There is no recovery mechanism for unsaved changes. The map file on disk remains in the state of the last save.
Can I have multiple versions of the same map on disk?
Yes. Copy the entire map folder to a new folder with a versioned name, such as MyMap_v2. The copy contains a complete, independent map that can be opened in the editor separately. This is the only supported versioning mechanism in the standard editor workflow.
Why does my map not appear in the map selection list?
The map folder name contains spaces or special characters. Rename the folder to use only alphanumeric characters and underscores. The Name field in Level.dat is independent of the folder name and can contain spaces.
How do I find the map folder for a Workshop-downloaded map?
Workshop maps are stored at C:\Program Files (x86)\Steam\steamapps\workshop\content\304930\<workshopID>\. The <workshopID> is the numeric identifier from the Workshop page URL. You must have the map installed through Steam Workshop for this directory to exist.
What is the difference between Level.dat and Config.json?
Level.dat stores the map's gameplay configuration: name, version, GUID, fog, sky, difficulty, and weather settings. Config.json stores the map's modding configuration: Workshop dependency IDs, bundle overrides, and version metadata. Level.dat is written by the editor. Config.json is typically authored manually or generated by the Workshop export process.
Can I edit Level.dat while the map is open in the editor?
No. The editor holds a lock on Level.dat while the map is open. Edits made to the file from an external text editor while the editor is running will be overwritten when the map is saved. Close the editor before editing Level.dat externally.
How do I reset my map to a blank state without deleting the project?
Delete the contents of the Level/ directory (but not the directory itself). The next time the map is opened in the editor, the editor regenerates the default terrain, empty object data, and default metadata. Note that all placement data, terrain sculpting, and spawn configuration will be lost.
Why is my save file larger than expected?
A large Objects.dat file is the most common cause of unexpectedly large save files. Check the number of placed objects on the map. Foliage data is the second most common cause. Dense foliage coverage on a Large map can produce foliage files totaling 50 MB or more.
Can I save a map to a location other than the default Maps directory?
No. The Level Editor always saves to the map's folder in the default Maps/ directory. To create a copy in a different location, close the editor and copy the map folder manually.
Best practices
- Save manually at intervals of no more than five minutes during active editing. The editor has no auto-save by default.
- Back up the entire
Level/directory at the end of every editing session. Label backups with the date and the work completed. - Keep at least two backup copies: the most recent and the one before that. A corrupted backup that goes undetected is not helpful.
- Back up
Objects.datseparately before large-scale object placement sessions. Object data is the most time-consuming data to recreate. - Store backups on a different physical drive or cloud storage to protect against drive failure.
- Close the editor before editing
Level.dator other configuration files externally. - Verify that the map loads correctly after every backup restore before continuing to edit.
- Use version control (Git) for the
Level.datandSpawns/directory. The terrain and object binary files are not diff-friendly, but the configuration files benefit from version tracking. - Transfer the full map folder (including
Bundles/) when moving a project to a different computer. - Test the backup restore process at least once before a major publication or restructuring.
Advanced considerations
Editor crash recovery
If the editor crashes during an editing session, any unsaved changes are lost. The editor does not write crash recovery files. Upon restarting the editor and reloading the map, the map is in the state of the last save. The cohort recommendation is to maintain a save discipline that limits the maximum potential data loss to five minutes of work.
Binary file format notes
Objects.dat, Roads.dat, and foliage files are binary formats. They cannot be edited in a text editor. Any corruption in these files requires restoration from backup. The 57 Studios™ cohort recommends treating these binary files as opaque data containers and never attempting manual edits.
File locking on network drives
If the map folder is located on a network drive or a cloud-synced folder, file locking conflicts may occur during save operations. The editor may fail to write files that are locked by the synchronization service. The cohort recommendation is to work on a local drive and sync backups separately.
Large file handling on 32-bit systems
The editor and the Unturned game client are 32-bit applications. The maximum file size that the editor can read or write is limited by the 32-bit address space. In practice, this limit is approximately 2 GB per file. Maps with extremely large Objects.dat files (approaching 1 GB) may experience save or load failures. If the map approaches this limit, consider splitting objects across multiple sub-maps using the object reference system.
Appendix A: Level.dat field reference
| Field | Type | Required | Description |
|---|---|---|---|
Name | string | Yes | Display name shown in server browser and main menu |
Size | enum | Yes | Map size preset: Tiny, Small, Medium, Large, Insane |
GUID | string (hex) | Yes | 32-character hexadecimal GUID without dashes |
Version | string | Yes | Four-part version number in #.#.#.# format |
Difficulty | enum | No | Default difficulty: Easy, Normal, Hard |
Has_Global_Fog | bool | No | Enables global volumetric fog |
Fog_Color | float3 | No | Fog color in 0-1 RGB |
Fog_Intensity | float | No | Fog density coefficient |
Ambient | float3 | No | Ambient light color in 0-1 RGB |
Sky_Zenith | float3 | No | Sky color at zenith |
Sky_Horizon | float3 | No | Sky color at horizon |
Sky_Sun_Color | float3 | No | Directional sun light color |
Day_Length | uint32 | No | Real-world seconds per in-game day |
Night_Length | uint32 | No | Real-world seconds per in-game night |
Appendix B: Diagnostic table for file management issues
| Symptom | Root cause | Resolution |
|---|---|---|
| Map fails to load; viewport shows flat gray terrain | Level.dat missing or missing required fields | Restore Level.dat from backup or recreate with Name, Size, GUID, Version |
| Objects missing after load | Objects.dat corrupted | Restore from backup |
| Terrain flat after load | Heightmap.png corrupted or missing | Restore Level/Terrain/ from backup |
| Save button produces no response | Save blocked by ongoing process | Wait for process to finish; restart editor if unresponsive |
| Save is very slow | Dense foliage or many objects on a slow drive | Reduce foliage density or move map folder to SSD |
| Map not in recent list | Opened via command-line parameter | Open once through Edit Level dialog |
| Map not in map selection list | Folder name has spaces or special characters | Rename folder to alphanumeric only |
| Missing assets after transfer | Bundles/ not copied to target system | Copy Bundles/ directory or reinstall mods through Workshop |
| Editor crashes on Large map | 32-bit memory limit exceeded | Reduce object count or foliage density |
| Auto-save not working | SaveInterval not configured | Add -SaveInterval launch parameter or set in EditorConfig.json |
| Cannot edit Level.dat externally | Editor has file lock | Close editor before editing |
Appendix C: External references
- Smartly Dressed Games official modding documentation - the authoritative reference for level file format and configuration fields.
- Unturned on Steam - the Unturned store page and community hub.
- Steam Workshop Submission - the publishing workflow for finished maps.
Cross-references
- Terrain Heightmap Editing - the next article in this series; covers terrain sculpting and heightmap management.
- Object Browser and Inspector - the previous article in this series; covers object placement and property editing.
- Level Editor UI and Navigation - the first article in this series; covers viewport and panel basics.
- Custom Map Creation: Project Setup - the prerequisite article for creating a map project.
Authoring checklist
Before concluding that level file management is fully understood for a given map project, confirm the following:
- [ ] The Level folder structure is understood and all files are identified
- [ ] Manual save works and the status bar confirms completion
- [ ] Auto-save is configured with an appropriate interval (or intentionally disabled)
- [ ] The map can be loaded from the recent list, file browser, and import function
- [ ] The map folder location is known and accessible
- [ ] Workshop map location is known (if applicable)
- [ ] A manual backup of the Level directory exists on a separate drive
- [ ] Backup restoration has been tested
- [ ] Level.dat can be edited externally when the editor is closed
- [ ] The save discipline (five-minute intervals) is practiced during editing sessions
Document history
| Version | Date | Author | Notes |
|---|---|---|---|
| 1.0 | 2026-07-26 | 57 Studios | Initial publication. Split from Level Editor Fundamentals into standalone depth treatment. |
