Known Fixable Issues
Some decls are Inaccurate when Testing in the Sandbox
The Sandbox uses the packaged .decl files from the base\generated\decls folder. Older decls that were previously removed from the modbase\declTree folder may still be present in the packaged mod. Here is how you can clean up your decls.
- Delete ALL files under the
base\generated\declsfolder.- New decls will automatically be generated before you package your mod.
- If
youyour mod has a custom map, DO NOT delete the other folders in yourbase\generatedfoldersincebecause they are needed to package your map. If they were accidentally deleted, be sure to do a Slow Map, Full Map, & Collision/Nav build before packaging your mod.
Custom Maps have unusually-large File Sizes
Fully-baked custom maps can have very large file sizes. Here is how you can reduce it.
- DO NOT package the
virtualtextures\maps\...\custom_map_name.rawdbfile.ItThis is a very large file that is not utilized on the Doom Eternal Sandbox.- Delete the .rawdb file for the mod in your "ActiveMods" folder to conserve file space. Keep the file in your "idStudio" folder
sincebecause idStudiodoes readreads it.
- For more information on what files you should package for your mod, see guide: https://wiki.eternalmods.com/books/0-idstudio/page/what-files-should-i-package-for-my-idstudio-mod
Most Geo are Invisible when Testing in the Sandbox
Geo are mostly invisible or flickering in the Sandbox due to an issue with the dvdpc\base\packagemapspec.json file. Here is how to fix it.
- See guide (scroll down to the "Some models are invisible..." header): https://wiki.eternalmods.com/books/0-idstudio/page/how-do-i-upload-mods-to-the-mod-portal
- If geo are invisible after loading an existing save or checkpoint, see the "Loading a Custom Map may crash at 80%" guide below.
Loading a Custom Map may crash at 80%
Loading an existing save for a custom map may crash at 80%. If the game does not crash, then all geo on a custom layer will be invisible unless a checkpoint is loaded. The 80% crash stems from athe layeruse issue.of custom visibility layer. Here is how to fix it.
- If custom layers were used, replace them all with vanilla layers. Repurposing vanilla layers will not impact the levels they
belongaretoassociatedand can be used freely in your custom map.with. - Replacing layers on entities can be done quickly by opening a .refmap file in
base\maps\...\custom_map_name\refmap_name.refmapwith a raw text editor and issuing a mass find/replace command to find the full custom layer nametoand replace it with the full repurposed vanilla layer name. - Be sure that the repurposed vanilla layer decl only has its layerParent set to "world"
.and each custom layer should be repurposed to a different vanilla layer.
For example, change the custom layer:
layers {
"game/custom_map_name/visibility/vis_visibility_layer"
}
To:
layers {
"game/sp/e1m1_intro/visibility/vis_barge"
}
- Any other custom layers that are not for visibility (main_level, master_level, etc) should be activated in a target/change_layer entity or devMenuOption decl.
Here is what activating a layer in a devMenuOption decl looks like:
declType( devMenuOption ) {
edit = {
devMenuList = {
num = 1;
item[0] = {
devMenuDisplayName = "Custom Map - Master Level";
devMenuMapName = "maps/custom_map_name.map";
devMenuInventoryLoadout = "devinvloadout/dlc/e4m1_rig";
devMenuActiveLayers = {
num = 1;
item[0] = "game/custom_map_name/master_level";
}
}
}
}
}
- For more information on how to create idStudio mods, see guide: https://wiki.eternalmods.com/books/0-idstudio/page/how-do-i-create-idstudio-mods