Modding Tutorials/Folder structure
In this tutorial you will explore Rimworld's folder structure.
What you'll learn
You'll learn what content folders starting from your RimWorld starting location have and what use they might have in modding.
Base game folder structure
- Mac users: Installing Mods details how to enter your Rimworld directory.
The RimWorld****** root
In your Rimworld install directory, you can find five folders, some text files and your RimWorld******.exe file:
RimWorld*******/ Data/ Mods/ MonoBleedingEdge/ RimWorld******_Data/ Source/ Readme.txt RimWorld******.exe Version.txt ...
We will focus on the four main folders for modding:
Some of the files are pretty self explanatory; Readme.txt contains a readme, Version.txt contains the version string and the .exe starts the game.
You don't need to bother about all the other files and directories to start your modding journey.
The Data folder
The Data folder contains a Core folder with most if not all XML files used by Rimworld:
RimWorld******/ Data/ Core/
The Mods folder
Mods you download will be placed in the Mods folder:
Each mod's folder may contain the following folders:
|About||About.xml and Preview.png||These files are used in the in-game mods list. They contain some info about the mod and an unformatted text description.|
|Assemblies||Custom .DLL files||Mods with custom C# code have a .DLL file in this folder.|
|Defs||All defs||All XML code is stored in this folder, usually further categorized in subfolders and -files.|
|Languages||All translations||Every language file contains a DefInjected folder with a translation for everything in the game.|
|Patches||All patches||All xpath PatchOperations are stored in this folder.|
|Sounds||All sounds||Even though the main game's sounds are stored in compressed resource files, mods might use a folder for them.|
|Source||Assemblies' source code||Mods with an Assemblies folder might store source code for the C# code in here.|
|Textures||All textures||The main game uses compressed resource files to store textures, but most mods store textures here.|
This folder contains a few files which are important for the base game but not necessarily important for modding it:
RimWorld******/ RimWorld******_Data/ Managed/ Plugins Resources/ level0 mainData output_log.txt resources.assets resources.assets.resS sharedassets0.assets sharedassets1.assets
These files are; .DLL's which contain the game code, compressed resource files containing the game graphics and audio, several files automatically generated by Unity which contain settings and such, a copy of Mono and a Steamworks .DLL.
What you might at one point be interested in are the Managed/ folder and output_log.txt, which contain .DLL's required for writing custom C# code and a more detailed version of the game's debug log.
This folder contains a small amount of the game's C# source code:
RimWorld******/ Source/ RimWorld/ Verse/
These can be seen as tiny examples someone might use to get started with C# modding.
Anyone interested in bigger chunks of the source code is better off decompiling it by themselves.