Skip to content

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.

Windows File Explorer showing the Level folder structure of an Unturned map

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.dat and 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 configuration

The 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

FileFormatSize rangeDescription
Level.datPlain text (key-value)1-10 KBLevel metadata including name, version, GUID, fog settings, sky settings, and difficulty
Objects.datBinary (compressed)100 KB - 50 MBSerialized object placement data including position, rotation, scale, and type-specific properties
Roads.datBinary10 KB - 5 MBRoad spline control points, road material references, and width data
Heightmap.png16-bit grayscale PNG500 KB - 10 MB per tileElevation data encoded as grayscale pixel values
Splatmap.pngMulti-channel PNG1 MB - 20 MB per tileMaterial layer blend weights per texel
Materials.datPlain text (key-value)1-10 KBTerrain material layer assignments and physics surface types
Foliage filesBinary100 KB - 50 MB totalPer-region foliage density and type data
Spawn filesPlain text (key-value)1-100 KB eachSpawn 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 sizeTypical object countTypical save time
Tiny~100 objectsUnder 1 second
Small~500 objects1-2 seconds
Medium~8,000 objects2-5 seconds
Large~25,000 objects5-15 seconds
Insane~80,000 objects15-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.json

Add or modify the SaveInterval field:

json
"SaveInterval": 120

The 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

DataBackup priorityBackup frequency
Entire Level/ directoryCriticalAfter every major editing session
Level.dat and Spawns/HighAfter every metadata or spawn table change
Bundles/ directoryHighAfter every bundle update from Unity
Full map folderRecommendedBefore 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.0

The 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/ and Bundles/ 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.dat separately 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.dat or 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.dat and Spawns/ 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

FieldTypeRequiredDescription
NamestringYesDisplay name shown in server browser and main menu
SizeenumYesMap size preset: Tiny, Small, Medium, Large, Insane
GUIDstring (hex)Yes32-character hexadecimal GUID without dashes
VersionstringYesFour-part version number in #.#.#.# format
DifficultyenumNoDefault difficulty: Easy, Normal, Hard
Has_Global_FogboolNoEnables global volumetric fog
Fog_Colorfloat3NoFog color in 0-1 RGB
Fog_IntensityfloatNoFog density coefficient
Ambientfloat3NoAmbient light color in 0-1 RGB
Sky_Zenithfloat3NoSky color at zenith
Sky_Horizonfloat3NoSky color at horizon
Sky_Sun_Colorfloat3NoDirectional sun light color
Day_Lengthuint32NoReal-world seconds per in-game day
Night_Lengthuint32NoReal-world seconds per in-game night

Appendix B: Diagnostic table for file management issues

SymptomRoot causeResolution
Map fails to load; viewport shows flat gray terrainLevel.dat missing or missing required fieldsRestore Level.dat from backup or recreate with Name, Size, GUID, Version
Objects missing after loadObjects.dat corruptedRestore from backup
Terrain flat after loadHeightmap.png corrupted or missingRestore Level/Terrain/ from backup
Save button produces no responseSave blocked by ongoing processWait for process to finish; restart editor if unresponsive
Save is very slowDense foliage or many objects on a slow driveReduce foliage density or move map folder to SSD
Map not in recent listOpened via command-line parameterOpen once through Edit Level dialog
Map not in map selection listFolder name has spaces or special charactersRename folder to alphanumeric only
Missing assets after transferBundles/ not copied to target systemCopy Bundles/ directory or reinstall mods through Workshop
Editor crashes on Large map32-bit memory limit exceededReduce object count or foliage density
Auto-save not workingSaveInterval not configuredAdd -SaveInterval launch parameter or set in EditorConfig.json
Cannot edit Level.dat externallyEditor has file lockClose editor before editing

Appendix C: External references

Cross-references

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

VersionDateAuthorNotes
1.02026-07-2657 StudiosInitial publication. Split from Level Editor Fundamentals into standalone depth treatment.