Give any author a settings gear
Choose the launcher_settings starter in Kit 1.7.1. It ships a small annotated INI and a reader that validates values once per launch. No native DLL or in-game settings mod is required for the launcher page.
Annotated INI
[General]
; @type number
; @label Multiplier
; @description Choose the multiplier for the next launch.
; @min 0.01
; @max 100
; @step 0.01
Multiplier=1
Place annotations directly above the key. Supported types are integer, number, boolean, string and keybind. Sections become settings groups; @group can select another group. Compatible Native Mod Settings annotations can be read directly from mod.ini without an additional dependency. If several other INI files are annotated, provide an explicit description to choose one.
Existing INI or JSON files
Add mod.settings.json beside mod.json. Schema version 1 declares a relative config file, format and 1–128 typed fields. Each field names its INI section or dotted JSON object path, key, label, description, group, numeric bounds and step. Enum fields declare choices. See kit/examples/launcher_settings and kit/schema/mod.settings.schema.json.
{
"schemaVersion": 1,
"file": "settings.json",
"format": "json",
"fields": [
{
"section": "values",
"key": "enabled",
"label": "Enable feature",
"type": "boolean",
"group": "General"
},
{
"section": "values",
"key": "multiplier",
"label": "Multiplier",
"type": "number",
"min": 0.01,
"max": 100,
"step": 0.01,
"group": "General"
}
]
}
Capacity and stack consumers
Require Framework 1.7.1 when accepting custom integer factors from 1 to 1000. Use backpack_capacity, container_capacity and stack_limits handles. Containers retain occupied floors and native chest slot limits. Stack maximum remains available as the string maximum. Do not replace native tables or add a background scan for a settings page.
Editing contract
The config must already exist, remain inside its own mod folder, and use ordinary files without links. Numeric values support six decimal places within ±1 billion. Optional product constraints use setting IDs such as General/Multiplier and Backpack/Multiplier, with a positive maxProduct. The editor preserves unexposed INI lines and unknown JSON values, checks for concurrent edits, and retains the previous file in a .wps.bak backup.
Settings apply on the next launch. Authors must validate them again at runtime. Script-only settings and runtime-only registrations are not executed or inferred. Player config changes are expected to differ from a distribution catalog; verify the downloaded package before personalization.