Read and Discuss in a Browser.
Previous Changelog.
1.31.0: Native Mod Configuration
Add Native Mod Configuration and Loader API by @Sora-yx & @Sewer56
Just a temporary stopgap until Reloaded3.
Configure Native Mod Settings
Native mods can now use the launcher's settings dialog without a C# DLL.
Declare settings in ConfigSchema.json, beside ModConfig.json:
{
"Configurations": [
{
"FileName": "Config.json",
"Properties": [
{ "Name": "Enabled", "Type": "bool", "DefaultValue": true },
{
"Name": "Volume", "Type": "int", "DefaultValue": 75,
"Slider": { "Minimum": 0, "Maximum": 100 }
}
]
}
]
}Native settings have feature parity with C#.
They support sliders, enums, file/folder pickers, and opt-in real-time updates.
Use the Native Loader API
Native mods can now access some parts of the IModLoader API through
ReloadedStartEx.
#include "ReloadedModConfig.h"
static void my_start()
{
auto& config = reloaded::config();
// Schema defaults take precedence over these fallbacks.
bool enabled = config.get_bool("EnableThing", true);
long long volume = config.get_int("Volume", 75);
double brightness = config.get_float("Brightness", 1.5);
std::wstring file = config.get_wstring("CustomFile", L"");
// Query loader stuff.
std::wstring modDir = config.mod_directory();
std::wstring configDir = config.config_directory();
static const char* quality[] = { "Low", "High" };
int qualityIndex = config.get_enum("Quality", quality, 2, 1);
// Reload on changes; detach the thread or retain and join it on unload.
// config.watch([](reloaded::ModConfig& changedConfig) {
// reloaded::write_line("Configuration changed");
// }).detach();
// Writes go to the Reloaded log; *_line adds a newline, *_async queues.
// Prefer async except for temporary debugging.
// reloaded::write_line("Configuration loaded");
// reloaded::write_line_async("Configuration loaded");
// reloaded::write("Configuration loaded");
// reloaded::write_async("Configuration loaded");
}
RELOADED_MOD_CONFIG_IMPL(my_start)More APIs welcome with future PRs.
Start with dotnet new reloaded-native, or copy ReloadedModConfig.h from the
template. See the
native mod guide
for more information.
Add Japanese Translation by @ShibainuK
Adds a Japanese (ja-JP) launcher translation, with corrected line breaks for
executable-read error messages.
Complete Changes (Autogenerated)
1.31.0 - 2026-09-23
Merged
- Add Japanese (ja-JP) translation
#951
Commits
- Harden auto index builder Discord logging
0c7bd2e - Implement C++ Mod Config.
4c8e61c - Fix typo in the doc (ended dropping crossplatform)
8bbcc06 - ModConfig: Fix missing 32 bits mod template reference.
7fb4acf - Syntax moment
00d437e - Handle null case for when user config directory is null (+ rework migrate stuff)
a1658e0 - Validate filename helper + add missing "Values" for enum
a423fff - Inlined enum stuff through helper functions
e924738 - Invoke and Migrate improvement stuff.
7308d68 - Reloaded Mod Config header: Add mutex for thread safe + API struct
9671e70 - Documentation fixes: formatting adjust + rework CMake to use env variable
8db149d - ja-JP: Preserve trailing newline in ErrorCantReadExeFile / ErrorCantReadExeFileAsiLoaderDeploy
89a4dd7 - wrapper to the loader API
ef58379 - Changed: Improve/shorten NativeMods docs
3b0573e - Changed: Shorten native mod template README
da26497 - Changed: Remove unused usings from native config tests
9055250 - Changed: Polish native config docs and clear new-code warnings
98c866e - Changed: Group native mod config types under Native subnamespace
756a7a8 - Changed: Split native mod config schema models into Schema subnamespace
1f8bd02 - Changed: Link native schema docs to C# interface types
405b14c - Update: Doc cleanup of ConfigurableBase.cs
14c1c83 - Style: ModConfigSchema added newline
1dfb6cb - Style: Fix initializer alignment in picker schema parsers
a15949f - Fixed: Remove duplicate blank line in ConfigureModCommand
eadcbad - Changed: Link plain doc mentions to code members
7b9e43e - Changed: Dedupe native and managed configurator setup
0fa2850 - Changed: Add Arrange/Act/Assert sections to native mod tests
e799103 - Changed: Removed redundant comment
cc6ff21 - Native Mod Config: swap to Enum + add missing json exception + validate file name check
0aa172d - Updated documentation to add enum property and InitialFolderPath
86c1e4d - Rewrite logger to be more like C# equivalent
fa6bbc2 - Changed: Remove docs for wrapper funcs
adcc59a - Changed: Use nint instead of IntPtr in native mod config code
1a9c095 - Removed: Redundant external-write retry comment in ConfigurableBase
5a04cc4 - Changed: Use Environment alias for System.Environment in native schema
9e877f6 - Changed: Clarify native mod documentation
f67f40a - Changed: Show config and logging usage in C++ example
e0b8550 - Changed: Bump version to 1.31.0
294d048 - Changed: Update 1.31.0 changelog
458987f
====
====
Available Downloads
(Below this text, on GitHub)
Setup.exe: This is a 1 click installer for Windows.
Setup-Linux.exe: This is a version of Setup.exe for easier use in WINE / Proton. Use Linux Setup
Guide.
Release.zip: For people who prefer to install manually without an installer.
Tools.zip: Tools for mod authors and developers.
Other files are related to updates, you can ignore them.