Tools for dumping original Dying Light maps into a form that can be opened in the official Dying Light Developer Tools.
The game ships most map geometry in compiled .sobj files and keeps the closest editable map data in compiled .exp files. The official editor cannot open those game maps directly as normal workshop projects. This project automates the extraction and patching steps needed to inspect and edit them.
This project continues work originally started by Brendon, with permission.
- Scans a Dying Light installation for PAK files that contain maps.
- Dumps
.sobjmap geometry into readable entity data. - Generates
.edsfiles for manual workflows. - Creates editor-ready workshop map folders in automatic mode.
- Copies the original map folder files from the game PAK.
- Uses the original
.expas the closest available.mapbaseline. - Injects dumped
ModelObjectgeometry back into the.map. - Recovers compiled static lights from embedded
SLIsrecords as editableLightObjectrecords. - Copies loose retail
.lightfiles that contain environment-probe lighting data. - Stages built-terrain resource packs when a map references
_buildterrain_meshes.
- Windows.
- Dying Light installed through Steam or another local install.
- Dying Light Developer Tools installed.
- .NET 8 Desktop Runtime if you use a published release.
- .NET 8 SDK if you want to build from source.
Default paths used by the GUI:
C:\Program Files (x86)\Steam\steamapps\common\Dying Light
C:\Program Files (x86)\Steam\steamapps\common\Dying Light\DevTools\workshop
Custom install paths are supported through the Browse buttons.
AutoMapDumperGUI- the main Windows Forms application, also handles light recovery.SO_Dumper- reads Dying Light.sobjfiles and prints entity data.Map2EDS- converts dumped SOBJ text into.edsfor manual use.
Use automatic mode for normal map dumping.
- Open
AutoMapDumperGUI.exe. - Click
Browse Gameif the game path was not detected automatically. - Go to the automatic tab.
- Set the output folder to your workshop project's
data\mapsfolder.
Example:
C:\Program Files (x86)\Steam\steamapps\common\Dying Light\DevTools\workshop\MyProject\data\maps
- Select one map, one PAK group, or the root node for all maps.
- Click
Dump Selected Map,Dump Selected Group, orDump ALL Maps. - Wait until the log says
ALL OPERATIONS COMPLETE. - Open the project in Dying Light Developer Tools.
Automatic output for a map named slums_int_school will look like:
MyProject
└── data
└── maps
└── slums_int_school
├── slums_int_school.map
├── slums_int_school.exp
├── slums_int_school.sobj
├── slums_int_school0.light
├── slums_int_school1.light
└── other original map files...
Manual mode is mostly for old workflows and debugging.
It extracts the selected .sobj, runs SO18_Dumper, and generates a .eds file using Map2EDS. It does not create the full patched .map workflow and does not perform the exact static-light recovery used by automatic mode.
Use manual mode only if you specifically need the .eds workflow.
From the repository root:
dotnet build MapTools.sln -c ReleaseThe main executable will be under:
AutoMapDumperGUI\bin\Release\net8.0-windows\AutoMapDumperGUI.exe
To create a release ZIP (RECOMMENDED):
.\release.ps1That script publishes the GUI and helper tools into DLMDT_Release, then creates a DLMDT_vX_Y_Z.zip archive based on the GUI project version.
This project is licensed under the MIT License. See LICENSE for details.