Hey yea so I forked this and update it for myself, so go ahead and use it, sure, but all this "how to" stuff is probably old, and, unsupported.
A cookiecutter project that builds the basic Rimworld mod development file structure and sets up a sane build environment.)
- git
- python
- cookiecutter (or
pip install cookiecutter
)
cookiecutter gh:alextd/cookiecutter-rimworld-mod-development
[Answer the prompts]
- Open the folder you just created and double-click the
ModName.sln
file - In the Solution Explorer view on the right, right click
RimWorldWin
and clickSet as Startup Project
- Open up VS Installer (In Visual Studio -> Tools -> Gets Tools and Features)
- Click Modify
- Click Individual Components
- Scroll to Development activities
- Click the Cookiecutter template support checkbox
- Click Modify
- Open Visual Studio
File -> New -> From Cookiecutter...
- Search for
rimworld
- Double-click
alextd/cookiecutter-rimworld-mod-development
- Change the Template Options:
Create To
=>[...]/RimWorld/Mods
Mod name
Author
(Use your Steam username for automatic linking of mod to profile) (can change later in About-Release.xml)Mod Description
(not required, can change later in About-Release.xml)- A few more options are available
Create and Open Project
This cookiecutter builds the entire standard mod folder structure, with empty folders as the default. namespace_name
is automatically calculated.
- {{cookiecutter.mod_name}}
- About
- About.xml
- About-Release.xml
- Preview.png
- Assemblies
- Defs
- Languages
- Patches
- Sounds
- Source
- Properties
- AssemblyInfo.cs
namespace_name
.csnamespace_name
.csproj
- Properties
- Textures
namespace_name
.sln
- About
- Links Rimworld and UnityEngine .dlls for importing in code
- Sets build events to automate file management of About-$Version.xml for tagging development versions.
- Clears the default set trace constant
- Creates a VS solution with correctly defined paths
- Clicking
Start ▶️
will preform the designated build sequence and start Rimworld.exe tied to a Visual Studio resource monitor.
This cookiecutter setup takes full advantage of VS debug/release versions
- Debug mode
- Built in-place
- About.xml is for debug and development only
- About.xml has a "- Dev Build" tag to be easily distinguishable in the mod list
- The resulting .dll is placed in "{{cookiecutter.mod_name}}/Assemblies"
- Release mode
- About-Release.xml is copied to "{{cookiecutter.mod_name}} - Release/About/About.xml" and does not include the "- Dev Mode" tag in its title
- Building creates or updates the Release version of the mod. Solely the essential files are copied into a separate Release mod folder for a clean version of the mod.