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:feldoh/cookiecutter-rimworld-mod-development
[Answer the prompts]
- Note that when it asks you
_visual_studio
you must respond{}
- Note that when it asks you
- 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
feldoh/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
- Preview.png
- 1.X
- Assemblies
- Defs
- Patches
- Source
namespace_name
- Properties
- AssemblyInfo.cs
- Settings.cs
namespace_nameMod.cs
namespace_nameDefOf.cs
namespace_name.csproj
- Properties
namespace_name.sln
- Common
- Languages
- English
- Keyed
namespace_name_Misc_Gameplay.xml
- Keyed
- English
- Sounds
- Textures
- Languages
- README.md
- LICENSE
- .gitignore
- .gitattributes
- .editorconfig
- About
Note that samples demonstrating use of MayRequire and Loadfolders use Royalty as an example, simply swap this out as you need.
A preview image Asset is provided as a Krita file you may wish to use Krita which is a free art tool or something else. The template provided uses the Rimworld Font from Marnador. Make sure to export as a png file and place the Preview.png in About/Preview.png
- 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.
If you're not using Visual Studio you may need to tell the project where your MS Build actually is.
- You can download MSBuild from Microsoft
- It will already be in your Rider directory and can be found under File -> Settings -> Build, Execution, Deployment -> Toolset and Build -> MSBuild Version
Run dotnet restore
on the .csproj file for your code then try re-doing the nuget restore.
- alextd and n-fisher for the prior version of this template
- Marnador for the Rimworld Font