I plan on adding documentation later when I get home. This is currently for the game settings that come from construction set but are handled by unreal engine. Lmk what other unreal settings I should include below!
Hey, please update your main.lua so it can use [/Script/Engine.PhysicsSettings] that usually run in the Engine.ini. Here is what works for me.
local gameSettingsMap = require "Construction64_To_Unreal_GameSettings" local unrealGameSettings = StaticFindObject("/Script/UE5AltarPairing.Default__VOblivionInitialSettings") local physicsSettings = StaticFindObject("/Script/Engine.Default__PhysicsSettings") local loadedGameSettings = {} local luaIniParser = require "LIP"
local function loadInis() for ini in io.popen([[dir "OBSE\Plugins\GameSettings" /b]]):lines() do if ini:sub(-4):lower() == ".ini" then print("[BB's Game Settings Loader] Loading OBSE\\Plugins\\GameSettings\\" .. ini .. "... \n") local loadedIni = luaIniParser.load("OBSE\\Plugins\\GameSettings\\"..ini) if loadedIni.GameSettings ~= nil then for setting, value in pairs(loadedIni.GameSettings) do if gameSettingsMap[setting] ~= nil then print("[BB's Game Settings Loader] " .. setting .. " -> " .. gameSettingsMap[setting] .. ": " .. tostring(value) .. "\n") loadedGameSettings[gameSettingsMap[setting]] = value end end end end end for ini in io.popen([[dir "GameSettings" /b]]):lines() do if ini:sub(-4):lower() == ".ini" then print("[BB's Game Settings Loader] Loading GameSettings\\" .. ini .. "... \n") local loadedIni = luaIniParser.load("GameSettings\\"..ini) if loadedIni.GameSettings ~= nil then for setting, value in pairs(loadedIni.GameSettings) do if gameSettingsMap[setting] ~= nil then print("[BB's Game Settings Loader] " .. setting .. " -> " .. gameSettingsMap[setting] .. ": " .. tostring(value) .. "\n") loadedGameSettings[gameSettingsMap[setting]] = value else print("[BB's Game Settings Loader] " .. setting .. ": " .. tostring(value) .. "\n") loadedGameSettings[setting] = value end end end end end end
local function applyInis() for setting, value in pairs(loadedGameSettings) do if unrealGameSettings and unrealGameSettings:IsValid() and unrealGameSettings[setting] and not string.find(tostring(unrealGameSettings[setting]), "UObject") then unrealGameSettings[setting] = value elseif physicsSettings and physicsSettings:IsValid() and physicsSettings[setting] and not string.find(tostring(physicsSettings[setting]), "UObject") then physicsSettings[setting] = value end end end
if unrealGameSettings and unrealGameSettings:IsValid() then print("[BB's Game Settings Loader] --[[ Got Oblivion's Unreal game settings! ]]--\n") loadInis() print("[BB's Game Settings Loader] --[[ Applying loaded settings, pray to Todd! ]]--\n") applyInis() loadedGameSettings = nil end You can use this or do your own implementation.
For people who want to do it themselves, just open the main.lua from this mod with notepad. Delete all text, copy and paste from this post and save.
Will examine later see if I can make any improvements, my focus kinda got lost onto the TesSyncMapInjector. I plan to make this able to apply internal game settings on save load too
Greetings yall. I've run into a compatibility issue between this mod and a mod to reduce the delay before a power attack activates. I'm not sure what is conflicting here. Mod for reference: Reduce Power Attack Delay
Reduced Power Attack Delay uses just a simple main.lua located in ue4ss. Here is its contents: NotifyOnNewObject("/Script/Altar.VEnhancedAltarPlayerController", function(Context) Context.PowerAttackInputTime = 0.15 end)
For some reason This script only works when i remove the Game Settings Loader mod folder from ue4ss/mods
I also tried adding the below text to one of my existing .ini files in win64/gamesettings. but that also seemed to not work. [/Script/Altar.VEnhancedAltarPlayerController] Context.PowerAttackInputTime=0.15
I'm in way over my head but I'm tryin to figure it out lol. Ill update if i figure anything out. If anyone has any idea what's going on here let me know. Thank you everyone!
I wanted to let you know that I encountered an issue in your mod: "UE4SS Game Settings Loader Steam" The mouse input is completely unresponsive when the mod was running. I cant't click or interact with anything using the mouse — it seemed like the cursor is not responding.
Strange, can you link the mods so I can do some testing and figure out the issue? Also did you try disabling the set internal to false in config.lua to see if it works normally when not trying to set the settings for the internal engine?
This works on game pass version? Because I think this is not working for me but I dont know how to test but the mods that I downloaded that need are not working. :/
SOLVED! After tremendous amount of trial and error, I realized the UE4SS GSL is deployed to the wrong directory, it is not adapted to the Game Pass enviroment. Game Pass used WinGDK, while Steam uses Win64 I guess. BB's GSL loaded into the Win64, so when you change the folder to WinGDK, the problem solved for me. Realistic Arrow Speeds (Faster) The mod works!
If you are using Vortex, right click on BB's GSL, select Open in File Manager. Go through the files, get to the Win64. Rename that file to WinGDK. Then Vortex won't recognize the changes instantly, when you change something there, let's say disabling and enabling a mod, it will say, "Files are distorted, choose what to do". Choose Save all. Check ifthe files are at the correct place. If not, if you cannot change the name from Win64 to WinGDK, just copy the contents of the Win64 and go manually to the WinGDK and paste there. Be mindful, this manual action won't be detected by the Vortex, so you need to check for updates manually if necessary. Btw, don't forget to download also the miscellaneous file VOblivion something.
The file says it requires OBSE even though OBSE says the gamepass version of the game is not supported. Can it still be used? I really don't wanna bork my game after 70 hours :/
Can I get a list of configs you were using so I can figure out what settings might be causing a crash with this mod? Or is it just in general causing a crash?
I am running realistic arrow speed and haven't ran into any crashes related to it, make sure there is only mods in the ue4ss mods folder as another user has stated that he was crashing too until he reinstalled ue4ss
The recent requirement of Console Framework has me confused, is this an actual requirement? And that mods install instructions aren't clear- So do i need to add that mod TO this mod? What's the situation? Thanks!
No worries, the Console Framework is included but marked as a requirement incase a update to that heppens before I update my mod and also to give credit. No further download are needed beside ue4ss and obse if you prefer to use that for internal game settings.
Same thing different ways, though obse game settings loader is probably going to be more stable than mine for now until I get an idea of what issues might arise.
For clarity cause the description isn't 100% clear. Can we move all of our ini's from powerofthrees gamesettings folder into yours or are both still needed?
Yes you can but stability might still be an issue in my mod so powerofthrees GameSettings might still be better to use. Just note that if you do plan to use the obse game settings loader you should disable the set internal in config.lua so it only edits the unreal side.
125 comments
Here is what works for me.
local gameSettingsMap = require "Construction64_To_Unreal_GameSettings"
local unrealGameSettings = StaticFindObject("/Script/UE5AltarPairing.Default__VOblivionInitialSettings")
local physicsSettings = StaticFindObject("/Script/Engine.Default__PhysicsSettings")
local loadedGameSettings = {}
local luaIniParser = require "LIP"
local function loadInis()
for ini in io.popen([[dir "OBSE\Plugins\GameSettings" /b]]):lines() do
if ini:sub(-4):lower() == ".ini" then
print("[BB's Game Settings Loader] Loading OBSE\\Plugins\\GameSettings\\" .. ini .. "... \n")
local loadedIni = luaIniParser.load("OBSE\\Plugins\\GameSettings\\"..ini)
if loadedIni.GameSettings ~= nil then
for setting, value in pairs(loadedIni.GameSettings) do
if gameSettingsMap[setting] ~= nil then
print("[BB's Game Settings Loader] " .. setting .. " -> " .. gameSettingsMap[setting] .. ": " .. tostring(value) .. "\n")
loadedGameSettings[gameSettingsMap[setting]] = value
end
end
end
end
end
for ini in io.popen([[dir "GameSettings" /b]]):lines() do
if ini:sub(-4):lower() == ".ini" then
print("[BB's Game Settings Loader] Loading GameSettings\\" .. ini .. "... \n")
local loadedIni = luaIniParser.load("GameSettings\\"..ini)
if loadedIni.GameSettings ~= nil then
for setting, value in pairs(loadedIni.GameSettings) do
if gameSettingsMap[setting] ~= nil then
print("[BB's Game Settings Loader] " .. setting .. " -> " .. gameSettingsMap[setting] .. ": " .. tostring(value) .. "\n")
loadedGameSettings[gameSettingsMap[setting]] = value
else
print("[BB's Game Settings Loader] " .. setting .. ": " .. tostring(value) .. "\n")
loadedGameSettings[setting] = value
end
end
end
end
end
end
local function applyInis()
for setting, value in pairs(loadedGameSettings) do
if unrealGameSettings and unrealGameSettings:IsValid() and unrealGameSettings[setting] and not string.find(tostring(unrealGameSettings[setting]), "UObject") then
unrealGameSettings[setting] = value
elseif physicsSettings and physicsSettings:IsValid() and physicsSettings[setting] and not string.find(tostring(physicsSettings[setting]), "UObject") then
physicsSettings[setting] = value
end
end
end
if unrealGameSettings and unrealGameSettings:IsValid() then
print("[BB's Game Settings Loader] --[[ Got Oblivion's Unreal game settings! ]]--\n")
loadInis()
print("[BB's Game Settings Loader] --[[ Applying loaded settings, pray to Todd! ]]--\n")
applyInis()
loadedGameSettings = nil
end
You can use this or do your own implementation.
For people who want to do it themselves, just open the main.lua from this mod with notepad. Delete all text, copy and paste from this post and save.
Now settings like "DefaultGravityZ" will work.
So people are aware. You now need to separate [GameSettings] and [PhysicsSettings] in your .ini files.
example:
[GameSettings]
ArrowInitialSpeedMultiplier=7500.000000
[PhysicsSettings]
DefaultGravityZ=-2250
Reduced Power Attack Delay uses just a simple main.lua located in ue4ss. Here is its contents:
NotifyOnNewObject("/Script/Altar.VEnhancedAltarPlayerController", function(Context)
Context.PowerAttackInputTime = 0.15
end)
For some reason This script only works when i remove the Game Settings Loader mod folder from ue4ss/mods
I also tried adding the below text to one of my existing .ini files in win64/gamesettings. but that also seemed to not work.
[/Script/Altar.VEnhancedAltarPlayerController]
Context.PowerAttackInputTime=0.15
I'm in way over my head but I'm tryin to figure it out lol. Ill update if i figure anything out. If anyone has any idea what's going on here let me know. Thank you everyone!
"UE4SS Game Settings Loader Steam"
The mouse input is completely unresponsive when the mod was running. I cant't click or interact with anything using the mouse — it seemed like the cursor is not responding.
LoginId:119af3ba49944f9d7bdf5f97cfc3482f
EpicAccountId:
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x000002ff00f570d6
UE4SS
UE4SS
UE4SS
UE4SS
UE4SS
OblivionRemastered_Win64_Shipping
OblivionRemastered_Win64_Shipping
UE4SS
OblivionRemastered_Win64_Shipping
OblivionRemastered_Win64_Shipping
OblivionRemastered_Win64_Shipping
OblivionRemastered_Win64_Shipping
OblivionRemastered_Win64_Shipping
OblivionRemastered_Win64_Shipping
OblivionRemastered_Win64_Shipping
OblivionRemastered_Win64_Shipping
OblivionRemastered_Win64_Shipping
OblivionRemastered_Win64_Shipping
OblivionRemastered_Win64_Shipping
kernel32
ntdll
When installing "realistic arrow speed" mod my game crashes on start up as well. I have UE4SS and OBSE64 installed but I don't have GSL installed.
In case you still wanted to look at these mods, though it's likely not necessary, they are Faster (And Slower) Skill Levelling - Custom Experience Multiplier on the 0.25 speed setting, and Skill Leveling XP Curvature Increased
After "https" and before "//" there should be a colon, or better yet, remove everything before "nexusmods" including "www."
but the mods that I downloaded that need are not working. :/
name from Win64 to WinGDK, just copy the contents of the Win64 and go manually to the WinGDK and paste there. Be mindful, this manual action won't be detected by the Vortex, so you need to check for updates manually if necessary. Btw, don't forget to download also the miscellaneous file VOblivion something.
only thing i use that requires this is the realistic arrow speed mod, so might be that
The recent requirement of Console Framework has me confused, is this an actual requirement? And that mods install instructions aren't clear- So do i need to add that mod TO this mod? What's the situation? Thanks!