Skip to main content

Mod Structure

The mod structure for published and unpublished mods is similar, but has certain differences.

Published Mod​

A published mod is fully packaged and playable by the game.

├── 📁 Documents\id Software\activemods
│ ├── 📁 [id-number]
│ | ├── 📁 dvdpc (optional)
│ | ├── 📁 virtualtextures (optional)
│ | ├── base.pk5
│ | ├── manifest.json
│ | ├── modinfo.json

Unpublished Mod​

An unpublished mod has not been packaged and can only be opened by idStudio. It may contained packaged elements created by the Mod Packer which are then consumed downstream by the testing and publishing workflow.

├── 📁 Documents\id Software\idStudio
│ ├── 📁 doom-mod-[id-number]
│ | ├── 📁 dvdpc (optional)
│ | ├── 📁 virtualtextures (optional)
│ | ├── 📁 base
│ | ├── modinfo.dev.json
ItemTypeDescription
dvdpcBothThis directory is only produced if the mod contains map(s). It contains resource and streamdb files. This directory is produced by the Mod Packer.
virtualtexturesBothThis directory is only produced if the mod contains map(s). It contains lightmap files. This directory is produced by idStudio's Map Build Wizard.
baseUnpublishedThis is the primary directory for all modified and newly created assets in the mod. It overlays the base file system present in the wads that idStudio loads at startup. It is also the directory that idStudio watches for changes.
base.pk5BothThis is the packaged version of the base directory but only includes the files the Modder has chosen for inclusion. The file is produced by the Mod Packer and is mandatory for playing the mod.
modinfo.dev.jsonUnpublishedThis contains metadata about the mod. Some of that data is provided by the Modder when creating the mod. You should never have to modify this manually.
modinfo.jsonPublishedThis contains the final meta data for the published mod. This data is read by both the Launcher and the engine for loading the mod.
manifest.jsonPublishedThis is an internal file that the Launcher uses to manage the mod on disk. It should not be modified manually.