Modding

Modding IoD is not yet supported, but the developer has given the OK to share these instructions on how to access and modify the game files.

IoD was made in Unity and therefore some unofficial Unity modding tools work out of the box.

## Tools

Download the latest version of Unity Assets Bundle Extractor by DerPopo from here: https://github.com/DerPopo/UABE/releases/tag/2.2stabled

You can extract this anywhere you like and run it.

To open IoD's primary assets:

**.assets** files are stored in **C:\Program Files (x86)\Steam\steamapps\common\Instruments of Destruction\Instruments\_Data\**

There are only 4 .assets files at the moment, they are;

* *globalgamemanagers.assets*
* *resources.assets*
* *sharedassets0.assets*
* *sharedassets1.assets*

The last 3 above contain the majority of the game's assets.

## Files to note

### resources.assets

This file contains the most data for the game.

* Logic and metadata for maps are stored in "**MonoBehavior**" files
* Sound Effects and Music are stored as "**AudioClip**" files
* Textures are stored as "**Texture2D**" and "Material" files. The former is the bitmap image, the latter is the 'settings' for that texture.
* Meshes (inc. map meshes) and collision data are stored as "BoxCollider", "CapsuleCollider", "**Mesh**", "MeshCollider", "MeshFilter", "MeshRenderer", "RigidBody" and "SphereCollider"
* **Localization** and IODV Showcase files are stored as "**TextAsset**"

### sharedassets0.assets

Contains the majority of the game's scripts. It also contains a few textures (bitmaps) and Shader data.

* Scripts are stored as "**MonoScript**" files.

### sharedassets1.assets

This file seems to open the same as *resources.assets.*

**leves** & **sutructres**

Those two folders appeared with version 0.115, and respectively contain IODL and IODS files.

## How to extract data

Extracting data with this third party, unsupported tool can be dangerous to your files or your computer. You should only proceed if you know what you're doing, and have sufficient backups of the game's files.

### Example case: Extracting IODV Showcase designs

1. Open the *resources.assets* file with UABE
2. Press the "Type" column header to sort alphabetically by type.
3. Look for "TextAsset" files. *The showcase IODV's all have the following name pattern: {Slot#}\_iodv\_showcase*
4. Highlight one or all of the IODV showcase files, and press the "**Plugins**" button
5. Choose "**Export to .txt**" and press OK
6. Choose a location to save these files and press OK. *You should now have text files for each IODV you extracted. To use these files ingame, we need to do a bit of renaming.*
7. Rename the extension from ".txt" to ".iodv" and confirm the warning about changing extensions.
8. Copy this file to "**C:\Users\<*MYWINDOWSUSERNAME>*\AppData\LocalLow\Radiangames\Instruments**"
9. Make sure it's not occupying the same ***Slot #*** as any other file.
10. Boot the game, open the Vehicle menu (hotkey: V) and press Load Vehicle and browse to your "offline" Showcase vehicle you just extracted.
11. Enjoy!

### Example case: Extracting localization data

1. Open the *resources.assets* file with UABE
2. Press the "Type" column header to sort alphabetically by type.
3. Look for "TextAsset" files
4. Find the language you want to edit, e.g "english"
5. Highlight and press the "**Plugins**" button
6. Choose "**Export to .txt**" and press OK
7. Choose a location to save these files and press OK

One issue at the moment is the tool doesn't re-inject modified files correctly, and will cause the game to freeze on load (tested with 'english' file by modifying the "Play" text, saving it, and reimporting the raw back into UABE).