- Terra Invicta is currently (as of build 0.3.111) built with Unity 2020.3.48f1.
- Configuration files are located in
\TerraInvicta_Data\StreamingAssets\Templates
. - Localization files (game text) are located in
\TerraInvicta_Data\StreamingAssets\Localization\en
. - The game's assets (textures, models, videos) are located in
\TerraInvicta_Data\StreamingAssets\AssetBundles
. - The game's code is located in
\TerraInvicta_Data\Managed\Assembly-CSharp.dll
.
- Unity: Necessary for creating new AssetBundles to import new assets into the game.
- Requires version Unity 2020.3.30f1. You must use this version or your game will crash when loading new bundles.
- FFmpeg: Used for creating .webms to add as new councillor portraits to TI.
- PowerShell script for mass conversion of pngs to webms.
- GIMP: Open-source image editor, useful for preparing new 2D graphics to import into the game.
- dnSpy: Used to view and edit the game's code.
- Note that this is decompiled code, therefore lacks documentation and can be difficult to decipher.
- AssetStudio: Allows decompiling the game's AssetBundles to see what's inside.
- Currently the only known such utility that works with Unity 2020.
- JSON to CSV: Enables easier editing of the game's configuration files in spreadsheet format.
- Navigatable Tech Tree : Allows navigating the large tech tree outside the game.
- Introduction to Importing Assets
- Creating Template JSON Mods
- Building Code Mods
- Reference Guide for Narrative Events
- Making New Councillor Portraits
- Uploading and Updating Steam Workshop Mods
- An example of modifying ingame UI with code
- Modding Cookbook
- Introduction to MonoMod
- If you want to savegame edit you unpack, edit the embedded json and repack with z7ip, default settings for gzip (format: gzip, 5 - normal,word size:32)
- Native support for DLL patching, similar to how Rimworld does it.
- This would alleviate the need for players to download and install third party patching tools (like Unity Mod Manager or BepInEx/MonoMod) to be able to play code mods.
- Ability to add new sounds (e.g. custom voice packs for councillors) to the game.
- This has now been officially implemented by Pavonis.
- Ability to add new UI elements to the game.
- See an example of modifying the UI in code - it is possible to do, but different things might be less or more complex to alter.
- In general, this is extremely difficult to do from outside the editor.