Mod Settings Framework ‐ Basics (WIP) - Vanilla-Expanded/VanillaExpandedFramework GitHub Wiki

The Mod Settings Framework is a simple tool that allows any modder to quickly and easily create and manage mod options for their mod with the need for C#! It can be fully done with only a few simple XMLs and uses xpathing/patching for most of its applications. More complex options that do require C# can also be integrated.

Basic Setup:

In your "Defs" folder create a new folder called "ModOptionCategories", inside create a new XML file called "ModOptionCategories.xml". It should look something like this (example from ReGrowth: Core):

	<ModSettingsFramework.ModOptionCategoryDef Name="RG_ModOptionsBase" Abstract="True">
		<modSettingsName>ReGrowth</modSettingsName>
		<modPackageSettingsID>ReGrowth.BOTR.Core</modPackageSettingsID>
	</ModSettingsFramework.ModOptionCategoryDef>
	<ModSettingsFramework.ModOptionCategoryDef ParentName="RG_ModOptionsBase">
		<defName>RG_Core</defName>
		<label>General</label>
		<order>0</order>
	</ModSettingsFramework.ModOptionCategoryDef>

As soon as this XML exists in your mod, the Mod Settings Framework will automatically create a new options entry for your mod.

What do the fields do?

<modSettingsName> - This field defines the name of the options entry of your mod. If not defined it will by default grab the name of your mod. This is useful if you mod has a longer name and you want to shorten it for the options.

<modPackageSettingsID> - This field defines an ID that will be used to assign different options to your settings. In ReGrowth this is used to make sure all mod options added by all its different modules are all displayed in the same mod options, rather than each mod having its own.

<defName> - Works the same as for any other def in Rimworld. Make sure its unique.

<label> - Defines the name of this segment of

⚠️ **GitHub.com Fallback** ⚠️