|
| 1 | +--- |
| 2 | +title: "Getting Started" |
| 3 | +description: A comprehensive guide for making mods for Timberborn |
| 4 | +date: 2025-03-13 |
| 5 | +tags: mods timberborn guide modding |
| 6 | +--- |
| 7 | + |
| 8 | +[Home](/../..) / [Modding Guide](../) / Getting Started |
| 9 | + |
| 10 | +In this part of the series, we will set up your modding environment and make a simple code-less mod. This will help you to understand the basic structure of a mod and how to make it work in Timberborn. |
| 11 | + |
| 12 | +## A simple IDE |
| 13 | + |
| 14 | +You can use any IDE you like (even Notepad) but I recommend using Visual Studio Code because it is lightweight and has a lot of useful extensions for C# development. |
| 15 | + |
| 16 | +Download: https://code.visualstudio.com/ |
| 17 | + |
| 18 | +## AssetRipper |
| 19 | + |
| 20 | +AssetRipper is a tool that can extract game assets from Unity games. It is useful for modding because it allows you to extract textures, models, and other assets from the game and use them in your mods. |
| 21 | + |
| 22 | +- Download: https://github.com/AssetRipper/AssetRipper/releases |
| 23 | + |
| 24 | +Run the tool and select the game's executable file (e.g. `Timberborn.exe`). Then, you can extract all assets from the game to a folder. It will take a while to extract all assets so be patient. Most of the time the interesting assets are in the `Assets\Resources` folder. |
| 25 | + |
| 26 | +I usually use VS Code to browse the extracted assets. |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | +## Making a simple code-less mod |
| 31 | + |
| 32 | +This is actually all you need to make a mod for Timberborn though you can't do much beside modifying existing assets. But it is a good way to start and understand the basic structure of a mod. |
| 33 | + |
| 34 | +### Step 1: Create `manifest.json` file |
| 35 | + |
| 36 | +_Reference: [Official Timberborn Modding](https://github.com/mechanistry/timberborn-modding)_ |
| 37 | + |
| 38 | +1. Go to `Documents\Timberborn\Mods` folder and create a new folder `MyJsonMod` (the folder name does not matter). |
| 39 | +2. Open the folder with VS Code and create a `manifest.json` file: |
| 40 | + |
| 41 | +```json |
| 42 | +{ |
| 43 | + "Name": "My JSON Mod", |
| 44 | + "Version": "7.0.0", |
| 45 | + "Id": "MyFirstMod", |
| 46 | + "MinimumGameVersion": "0.7.0.0", |
| 47 | + "Description": "The very first mod.", |
| 48 | + "RequiredMods": [ |
| 49 | + { |
| 50 | + "Id": "AnotherMod", |
| 51 | + "MinimumVersion": "0.1" |
| 52 | + } |
| 53 | + ], |
| 54 | + "OptionalMods": [ |
| 55 | + { |
| 56 | + "Id": "YetAnotherMod" |
| 57 | + } |
| 58 | + ] |
| 59 | +} |
| 60 | +``` |
| 61 | + |
| 62 | +The above snippet is a basic manifest file for a mod. It's pretty self-explanatory and we can remove the `RequiredMods` and `OptionalMods` sections if we don't need them. |
| 63 | + |
| 64 | +> [!NOTE] |
| 65 | +> The game uses `0.7.0.0` for update 7 and `0.6.0.0` for update 6. |
| 66 | +
|
| 67 | +### Step 2: Make a modification |
| 68 | + |
| 69 | +> [!WARNING] |
| 70 | +> For Update 6, the game (and official modding guide) uses `Specifications` folder but for Update 7, it is renamed to `Blueprints`. I will use `Blueprints` in this guide. |
| 71 | +
|
| 72 | +Now you can look at the Assets you have extracted and find something you want to modify. For example, I will modify the `Good.Log.log` blueprint (the Log resource) and reduce its weight from 6 to 3. |
| 73 | + |
| 74 | +Make `Good.Log.json` file (note the file extension is `.json`), preferrably in the same path the game has, so: `Blueprints\Goods\Good.Log.json`: |
| 75 | + |
| 76 | +```json |
| 77 | +{ |
| 78 | + "GoodSpec": { |
| 79 | + "Weight": 3 |
| 80 | + } |
| 81 | +} |
| 82 | +``` |
| 83 | + |
| 84 | +Now run the game, you should see your mod in the mod list and the Log resource should have a weight of 3 instead of 6. |
| 85 | + |
| 86 | + |
| 87 | + |
| 88 | +> [!TIP] |
| 89 | +> - You can use Dev Mode (<kbd>Alt + Shift Z</kbd>) to quickly test your mod. |
| 90 | +
|
| 91 | +You can also put all above files into `version-0.7` folder so it will only loads for Update 7. For example it would be: `Documents\Timberborn\Mods\MyJsonMod\version-0.7\manifest.json`. This is how modders make mods compatible with multiple game versions. |
0 commit comments