Modding Tutorials/Folder structure
In this tutorial you will explore Rimworld's folder structure.
RimWorld******
In your Rimworld install directory, you can find three folders, two text files and your RimWorld******.exe file:
RimWorld*******/ Mods/ RimWorld******_Data/ Source/ Readme.txt RimWorld******.exe Version.txt
We'll focus on the folders, since the files are pretty self explanatory; Readme.txt contains a readme, Version.txt contains the version string and the .exe starts the game.
Mods folder
The Mods folder contains a Core folder with most if not all XML files used by Rimworld:
RimWorld******/ Mods/ Core/
This folder (Mods, not Core) is also the place you place any mod folders you downloaded.
Mod folder structure
The mods inside /Mods/ may contain the following folders:
Folder | Contents | Description |
---|---|---|
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. |
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. |
Data folder
This folder contains a few files which are important for the base game but not necessarily important for modding it:
RimWorld******/ RimWorld******_Data/ Managed/ Mono/ 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.
Source folder
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.