Mod Loader¶
Note
This page documents the mod structure and format for mod developers to reference. If you are simply looking to install mods as an end-user, see the Mod Setup guide.
The RSDKv5 Decompilation has a built-in mod loader that allows loading mods that add or replace Data files, as well as loading GameAPI logic files. The mod loader is a custom feature in the decompilation, however you can choose to build without it using the RETRO_MOD_LOADER
flag.
Mods Directory¶
The mod loader will look for mods in the mods
folder, located wherever the datapack or Data folder is located. In it, each mod is stored in its own separate folder. It's generally recommended to keep folder names short.
modconfig.ini¶
modconfig.ini is a file that the decompilation automatically creates and updates in the mods
folder, if it exists. This file is used to store the priority order for mods (mods are loaded from bottom to top), as well as which mods are enabled. Mods are listed by their folder names.
Mod Folder¶
Mod folders can include a Data
folder to load datapack assets. Files within these directories follow the same structure as in the base asset folders.
SpriteMod/
├── Data/
│ └── Sprites/
│ └── Global/
│ └── Display.gif
└── mod.ini
mod.ini¶
mod.ini is a file containing metadata for the mod, as well as flags that can be set for the decompilation to use. The decompilation will not detect the folder as a mod if this file is not present.
Metadata Tags¶
Name
-
The name of the mod. This string is what will be shown in the Mod List.
Description
-
A description of what the mod does.
Author
-
The creator of the mod.
Version
-
The mod's version number. There is no specific version scheme used, so use whatever you prefer.
Mod Flags¶
All of these flags take a boolean (false
/true
) unless stated otherwise. You do not need to include a flag in your mod.ini file if you do not intend to use it.
LogicFile
-
The filename of the logic file in the mod folder to load, excluding the file extension and Linux's
lib
binary name prefix. The engine will automatically use the appropriate file extension for the current platform. The mod will not load a logic file if this is not present. ModID
-
The internal ID for the mod to use. Takes a string. If not present, the mod's ID will default to its folder name.
RedirectSaveRAM
-
When enabled, the game will save/load save and user data in the mod's folder instead of the regular directory. If this is enabled on multiple active mods, the one with the lowest priority will be used.
DisableGameLogic
-
When enabled, the game will not load the base game's logic. This is intended to be used for mods whose logic does not need the base game's to function.
TargetVersion
-
Determines the target engine version for the mod when used in RSDKv5U, which only shows mods for the currently active engine version in the Mods Menu. Should be set to
5
for RSDKv5. If not set, it will default to5
. ForceVersion
-
Forces the engine version when used in RSDKv5U. This should normally never be necessary, however. Forces RSDKv5 when set to
5
.