# How Do I Create idStudio Mods?

<p class="callout info">See the official website for more in-depth guides: [https://idstudio.idsoftware.com/](https://idstudio.idsoftware.com/)</p>

The mod file locations idStudio reads &amp; writes is not always what you package.  
All editors are located in the "Windows" tab located on idStudio's top bar.

#### decl mod

- Edit or create a new decl in the Asset Browser
- Decls are located in your `base/declTree` folder

#### texture mod

- Edit textures with the Material Editor &amp; Material Painter
- Added textures should be in a standard .tga format  
     - Use GIMP or Paint.net to export textures into .tga
- Create a folder for your newly-added textures manually in File Explorer if you haven't already done so  
     - Not applicable if textures are being replaced, not added
- Menu &amp; Custom textures are located in your `base/art` folder
- Character textures are located in your `base/models` folder
- GUI textures are located in you `base/textures` folder

#### static / animated model mod

- Edit models with Blender (not in idStudio)
- Export models as .fbx
- Import the .fbx model in the Static Model Editor or Animated Model Editor
- Create a folder for your newly-added models &amp; animations manually in File Explorer if you haven't already done so  
     - Not applicable if models &amp; animations are being replaced, not added
- Static models are located in your `base/art` folder
- Animated models &amp; animations are located in your `base/md6` folder

#### string mod

- Edit strings with the String Editor
- Language -&gt; English
- Be sure to save BOTH the String Contents then the String Table
- Strings are located in your `base/strings` folder

#### sound effect / voice over mod

- Convert sfx/vo with Wwise as **PCM Auto Detect High** ([not in idStudio](https://wiki.eternalmods.com/books/eternal-audio-modding/page/creating-audio-mods))
- Export sfx/vo as .wem
- Manually place them in `base/sound/soundbanks/pc`
- Rename each file to ONLY contain the sfx ID (ex: 123456789.wem)

#### music mod

- Convert music with Wwise as **Ogg Vorbis Quality High** ([not in idStudio](https://wiki.eternalmods.com/books/eternal-audio-modding/page/creating-audio-mods))
- Export music as .wem
- Manually place them in `base/sound/soundbanks/pc`
- Rename each file to ONLY contain the music ID (ex: 123456789.wem)

#### entities mod

- Import zipped mod with the Legacy Mod Importer tool
- Entities are located in the `base/maps` folder

#### map mod

- Save As in the World Editor
- Be sure to add brushes for geo, some light points for visibility, &amp; a playerStart entity
- Do a Slowmap build for quick testing
- Execute a slowmap command in the Engine window to load into the map
- Do a Full Map bake &amp; Collision + Nav build before packaging your map
- Maps are located in the `base/maps` folder

##### map mod (how to load)

- To load into a custom map, the `devmenuoption/devmenuoption/new_campaign.decl` file should be modified. 
    - This will ensure that creating a new save for the base Campaign will load the player into the custom map.
- Set the `devMenuMapName` to the path of a custom map.
- Set the `devMenuInventoryLoadout` to the path of a `devInvLoadout` decl.

**`devmenuoption/devmenuoption/new_campaign.decl`**

```
declType( devMenuOption ) {
	edit = {
		devMenuList = {
			num = 1;
			item[0] = {
				devMenuDisplayName = "Custom Map";
				devMenuMapName = "maps/custom_map_name.map";
				devMenuInventoryLoadout = "devinvloadout/dlc/e4m1_rig";
			}
		}
	}
}
```