R5 Mod Settings 需要模组作者主动向管理器注册他们的模组才能正常显示。因此,看不到其他模组的设置是正常现象。如果你需要其他模组与之集成,请联系这些模组的作者,请求他们添加支持。
R5 Mod Settings requires mod authors to actively register their mod with the manager for it to display properly. So not seeing other mods' settings is expected behavior. If you need other mods to integrate with it, please contact those mod authors and ask them to add support.
说明:本描述为中英双语版本,中文内容位于英文内容下方。
Note: This description is bilingual. The Chinese section is provided below the English section.
Description
R5 Mod Settings adds a Mods tab to the Windrose settings screen for UE4SS mods.
Features
- Adds a Mods page to the native game settings menu.
- Uses native Windrose settings widgets for toggles, sliders, and dropdowns.
- Supports per-mod descriptions in the right-side help panel.
- Supports optional Nexus Mods buttons through
nexus_id.
- Includes R5ModSettingsExample, a small example mod showing how third-party mods can register and read settings.
For Mod Authors
Your UE4SS mod can register settings by writing a Lua manifest here:
Windrose\R5\Binaries\Win64\ue4ss\Mods\R5ModSettings\registrations\YourModName.lua
The manifest should return a Lua table like this:
return {
name = "YourModName",
display = "Your Mod Name",
version = "1.0.0",
nexus_id = "132",
settings = {
{
key = "Enabled",
title = "Enabled",
description = "Turns the mod feature on or off.",
type = "toggle",
default = true,
},
{
key = "Multiplier",
title = "Multiplier",
description = "Controls the strength of the feature.",
type = "slider",
default = 1.0,
min = 0.1,
max = 5.0,
step = 0.1,
},
{
key = "Mode",
title = "Mode",
description = "Selects the behavior mode.",
type = "dropdown",
default = "normal",
options = {
{ value = "normal", label = "Normal" },
{ value = "fast", label = "Fast" },
},
},
},
}
Supported setting types:
If nexus_id is present, R5 Mod Settings adds an Open Nexus Mods button for that mod.
Example:
nexus_id = "xxx"
Opens:
https://www.nexusmods.com/windrose/mods/xxx
Reading Settings
R5 Mod Settings writes saved values here:
Windrose\R5\Binaries\Win64\ue4ss\Mods\R5ModSettings\saved\YourModName.lua
When a manifest is registered or loaded, missing saved values are automatically initialized from the default values in the manifest. Existing user values are not overwritten.
Primitive values are also published to UE4SS shared variables:
R5ModSettings/YourModName/Enabled
R5ModSettings/YourModName/Multiplier
R5ModSettings/YourModName/Mode
Recommended reading pattern for your mod:
local ModName = "YourModName"
local SAVED_PATH = "./ue4ss/Mods/R5ModSettings/saved/" .. ModName .. ".lua"
local SHARED_PREFIX = "R5ModSettings/" .. ModName .. "/"
local Config = {
Enabled = true,
Multiplier = 1.0,
Mode = "normal",
}
local function read_lua_table(path)
local f = io.open(path, "r")
if not f then return nil end
local content = f:read("*all")
f:close()
if not content or content == "" then return nil end
if content:sub(1, 3) == "\239\187\191" then
content = content:sub(4)
end
local loader = load(content)
if not loader then return nil end
local ok, data = pcall(loader)
return ok and type(data) == "table" and data or nil
end
local function LoadConfig()
local got_shared = false
if ModRef then
for key, old in pairs(Config) do
local value = ModRef:GetSharedVariable(SHARED_PREFIX .. key)
if value ~= nil then
got_shared = true
if type(value) == type(old) then
Config[key] = value
end
end
end
end
if not got_shared then
local saved = read_lua_table(SAVED_PATH)
if saved then
for key, value in pairs(saved) do
if Config[key] ~= nil and type(value) == type(Config[key]) then
Config[key] = value
end
end
end
end
end
See R5ModSettingsExample for a complete working example mod.
Example Mod
This package includes R5ModSettingsExample.
It demonstrates:
- writing a registration manifest,
- generating default saved values,
- reading shared variables first,
- falling back to the saved Lua file,
- polling for runtime changes,
- and adding a Nexus Mods button.
The example appears in the Mods tab as:
R5 Mod Settings Example - 0.1.0
Compatibility
This is a UE4SS mod for Windrose.
Other UE4SS mods can use it as a shared settings menu.
For multiplayer, this is mainly a local UI/config helper. Gameplay mods still decide whether host, client, or both sides need to install their own mod.
Installation
Install UE4SS first.
Place the R5ModSettings folder here:
Windrose\R5\Binaries\Win64\ue4ss\Mods
Optional example mod:
Place the R5ModSettingsExample folder in the same Mods directory.
Bug Reports
Post on the mod page or contact me via email at 764884112@qq.com or ibox2333@gmail.com.
If you enjoy my mods, buy me a coffee! / 如果你喜欢我的模组,请我喝一杯咖啡吧!

简介
R5 Mod Settings 会在 Windrose 的游戏设置界面中添加一个 Mods 标签页,用于集中管理 UE4SS 模组配置。
功能
- 在游戏原生设置菜单中添加 Mods 页面。
- 使用 Windrose 原生设置控件显示开关、滑条和下拉框。
- 支持右侧说明面板显示每个选项的描述。
- 支持通过
nexus_id 自动添加 Nexus Mods 页面按钮。
- 包含 R5ModSettingsExample 示例模组,展示第三方模组如何注册和读取设置。
给模组作者
你的 UE4SS 模组可以写入一个 Lua manifest 来注册设置:
Windrose\R5\Binaries\Win64\ue4ss\Mods\R5ModSettings\registrations\YourModName.lua
示例 manifest:
return {
name = "YourModName",
display = "Your Mod Name",
version = "1.0.0",
nexus_id = "132",
settings = {
{
key = "Enabled",
title = "Enabled",
description = "Turns the mod feature on or off.",
type = "toggle",
default = true,
},
{
key = "Multiplier",
title = "Multiplier",
description = "Controls the strength of the feature.",
type = "slider",
default = 1.0,
min = 0.1,
max = 5.0,
step = 0.1,
},
{
key = "Mode",
title = "Mode",
description = "Selects the behavior mode.",
type = "dropdown",
default = "normal",
options = {
{ value = "normal", label = "Normal" },
{ value = "fast", label = "Fast" },
},
},
},
}
目前支持:
如果填写 nexus_id,管理器会给该模组添加 Open Nexus Mods 按钮。
例如:
nexus_id = "xxx"
会打开:
https://www.nexusmods.com/windrose/mods/xxx
读取配置
R5 Mod Settings 会将配置保存到:
Windrose\R5\Binaries\Win64\ue4ss\Mods\R5ModSettings\saved\YourModName.lua
当 manifest 被注册或加载时,缺失的配置项会自动用 default 默认值补齐。
已有玩家配置不会被覆盖。
基础类型配置也会发布到 UE4SS shared variables:
R5ModSettings/YourModName/Enabled
R5ModSettings/YourModName/Multiplier
R5ModSettings/YourModName/Mode
推荐做法:
优先读取 ModRef:GetSharedVariable("R5ModSettings/YourModName/Key")。
如果读不到,再读取 saved\YourModName.lua。
完整示例请看随包提供的 R5ModSettingsExample。
示例模组
本包包含 R5ModSettingsExample。
它演示了:
- 写入注册 manifest、
- 生成默认 saved 配置、
- 优先读取 shared variables、
- fallback 到 saved Lua 文件、
- 轮询运行时配置变化、
- 以及添加 Nexus Mods 按钮。
它会在 Mods 标签页中显示为:
R5 Mod Settings Example - 0.1.0
兼容性
这是 Windrose 的 UE4SS 模组。
其他 UE4SS 模组可以把它作为统一设置菜单使用。
多人游戏中,本模组主要负责本地 UI 和配置读取。具体 gameplay 模组是否需要房主、客户端或双方安装,取决于该 gameplay 模组本身。
安装方法
需要先安装 UE4SS。
将 R5ModSettings 文件夹放入:
Windrose\R5\Binaries\Win64\ue4ss\Mods
可选示例模组:
将 R5ModSettingsExample 文件夹也放入同一个 Mods 目录。
Bug 反馈
在模组页面发布问题,或通过邮箱 764884112@qq.com / ibox2333@gmail.com 联系我。