If you set the Local Map to 'nil' and your toggle button to something other than 'M' (for example 'N'), this mod works with both the 'M' to Close Mod and the Auto Local Map mod.
Mod works great (tested steam version), just go for the manual install (not Vortex):
Installation is different between Steam or Gamepass versions of Oblivion Remastered but only in terms of folder paths.
For steam: - Download UE4SS and extract the zip contents to {game directory}\GameName\Binaries\Win64\ - Extract Local Map Toggle Key to: \Steam\steamapps\common\Oblivion Remastered\OblivionRemastered\Binaries\Win64\ue4ss\Mods\ - In that same \ue4ss\mods\ folder there is a text file mods.txt in which you need to add LocalMapToggle : 1 below the line BPModLoaderMod : 1 .
So for example your final path for Steam will look like this: Oblivion Remastered\OblivionRemastered\Binaries\Win64\ue4ss\Mods\LocalMapToggle\Scripts
And the relevant part of your mod.txt will look like this: BPML_GenericFunctions : 1 BPModLoaderMod : 1 LocalMapToggle : 1
For gamepass I BELIVE the only difference is in the (microsoft customized) Oblivion folder paths (i dont have gamepass to test). The mod maker posted this line as the guide so use your deduction skills to compare to the above and make adjustments: Oblivion Remastered\Content\OblivionRemastered\Binaries\WinGDK\ue4ss\Mods\
so according to the instructions this is the correct path that E:\Games\The Elder Scrolls IV- Oblivion Remastered\Content\OblivionRemastered\Binaries\WinGDK\ue4ss\Mods\LocalMapToggle\Scripts but mods.txt was not created after the game was turned on any other ideas?
If you are getting crashes occasionally with pressing N outside map, or M when closing map (if you are using that mod), install the mod 'close menus' (instead of press M to close map) and from now on only open and close the map using F4 (and avoid ever pressing N outside map).
To support gamepads you can try to change config.lua to:return { --assign nil to a key to disable it open_local_map_key = Key.N, -- Key to open the local map directly, if map is open then it will toggle between the world and local map toggle_key = Key.M, -- Key to toggle the between the world and local map when the map is already open toggle_controller_button = "Gamepad_DPad_Down" -- Buton to toggle the between the world and local map when the map is already open }
Add at top of main.lua script (line 8): toggle_controller_button = { KeyName = FName(config.toggle_controller_button) } -- Button to toggle the between the world and local map when the map is already open And add at bottom of main.lua script: if not config.toggle_controller_button then print("[LocalMapToggle] No controller button bound to toggle_controller_button\n") else print(string.format("[LocalMapToggle] Button bound to toggle_controller_button: %s\n", config.toggle_controller_button))
LoopAsync(3000, function() return pcall( ---@param context RemoteUnrealParam<AVEnhancedAltarPlayerController> ---@param key RemoteUnrealParam<FKey> RegisterHook, "/Game/Dev/Controllers/BP_AltarPlayerController.BP_AltarPlayerController_C:InpActEvt_AnyKey_K2Node_InputKeyEvent_1", function(context, key) local button = key and key:get() ---@type FKey local button_name = button and button.KeyName and button.KeyName:ToString() if not button_name or button_name ~= config.toggle_controller_button then return end
local player_controller = context:get() ---@type AVEnhancedAltarPlayerController if not player_controller or not player_controller:IsValid() then return end
if player_controller:WasInputKeyJustPressed(toggle_controller_button) then ExecuteInGameThread(function() toggleLocalMap() end) end end) end) end
It works in "my version" of a similar script. There may be typos, as I copied it with small adjustments to the naming of variables. Feel free to use this code; I make no claims of ownership over it :)
I'm getting a lot of crashes with this mod enabled. Perhaps it is a conflict with another mod? I'd love to use the mod but currently i can't with all the crashes.
The fact that a simple keybinding the original game had requires a mod now is 10/10 ToddHowards. This shows how much Bethesda plays their own game. But heyy we now have the blue sparkly gaming journalist spell to make up for it, surely nobody will be bothered by having to open the normal map and scroll THRICE to open the nearby map if they get lost every 5 minutes within these crazy tomb dungeons. suuuuure Todd howard.
I absolutely love this mod, thank you! Unfortunately the Oblivion Remastered map itself is rather buggy & unstable. And any further mods added to the map make that worse (even the console command tmm 1). In main.lua file for this mod i changed "ExecuteWithDelay(200" to 500 instead of 200. So far it looks like that has helped to make the Local Map hotkey N work more consistently. And to make the Local Map open more consistently with proper textures (instead of empty or partially undiscovered). Hopefully Bethesda actually patches the Map itself in the coming weeks.
Vortex version with the extra txt file didn't work for me for some reason, keeps crashing my game with either hotkey for local map or normal map. Downloaded the other version and set the mods.txt manually which did the job.
Nevertheless great mod, was missing this option in the base game. Thanks and endorsed!
Edit: I suspect this mod randomly crashes my game when opening the map. Could also be Bethesda jank, but didn't have crashes on opening map before this mod though.
That's interesting, the contents are identical other than the enabled.txt. Do you have other ue4ss mods? Maybe it was a conflict with another one when it was enabled that way.
Also got 3 crashes when opening the map with this mod.
I previously used M to close map and auto local map together instead, and they never caused crashes on opening the map.
Uninstalled them since this mod does what i want and used it alone so wouldn't of been a conflict.
My games decently stable otherwise, played 5 hours today after removing it without crashes. (But yea it is oblivion, so i have had a fair amount of random crashes in my 53 hours playtime, but usually on loads or just randomly mid combat, not when opening the map)
This stopped working for me after updating UE4SS, but when browsing through the files I noticed the other mods have an "enabled.txt" file with nothing in the file. When I created one in the local map toggle folder, it started working again. Just FYI
Yeah there's a version of this file under the files here that includes that by default. The regular one I left it out so people could enable/disable with the mods.txt but it seems like most people don't care about that ha.
Thought I'd let you know, the key to open the local map directly wasn't working for me (would open regular map), fixed it by simply increasing the delay from 200 to 300ms. I see some other people having some problems with that so you might want to increase it or add it as a setting in the config file so people can change it themselves.
Hey thanks for letting me know. I was going to add a dynamic delay but haven't gotten around to it yet. I'm guessing the map just takes longer to open for some people, either if they have more stuff on it or other mods also running scripts at the same time.
217 comments
Now has a key for opening the local map directly! (and toggles the maps once open)
Also the zoom level is maintained between toggles.
Installation is different between Steam or Gamepass versions of Oblivion Remastered but only in terms of folder paths.
For steam:
- Download UE4SS and extract the zip contents to {game directory}\GameName\Binaries\Win64\
- Extract Local Map Toggle Key to: \Steam\steamapps\common\Oblivion Remastered\OblivionRemastered\Binaries\Win64\ue4ss\Mods\
- In that same \ue4ss\mods\ folder there is a text file mods.txt in which you need to add LocalMapToggle : 1 below the line BPModLoaderMod : 1 .
So for example your final path for Steam will look like this:
Oblivion Remastered\OblivionRemastered\Binaries\Win64\ue4ss\Mods\LocalMapToggle\Scripts
And the relevant part of your mod.txt will look like this:
BPML_GenericFunctions : 1
BPModLoaderMod : 1
LocalMapToggle : 1
For gamepass I BELIVE the only difference is in the (microsoft customized) Oblivion folder paths (i dont have gamepass to test).
The mod maker posted this line as the guide so use your deduction skills to compare to the above and make adjustments:
Oblivion Remastered\Content\OblivionRemastered\Binaries\WinGDK\ue4ss\Mods\
E:\Games\The Elder Scrolls IV- Oblivion Remastered\Content\OblivionRemastered\Binaries\WinGDK\ue4ss\Mods\LocalMapToggle\Scripts
but mods.txt was not created after the game was turned on
any other ideas?
Also unbinding M for map helps.
return {
--assign nil to a key to disable it
open_local_map_key = Key.N, -- Key to open the local map directly, if map is open then it will toggle between the world and local map
toggle_key = Key.M, -- Key to toggle the between the world and local map when the map is already open
toggle_controller_button = "Gamepad_DPad_Down" -- Buton to toggle the between the world and local map when the map is already open
}
Add at top of main.lua script (line 8):
toggle_controller_button = { KeyName = FName(config.toggle_controller_button) } -- Button to toggle the between the world and local map when the map is already open
And add at bottom of main.lua script:
if not config.toggle_controller_button then
print("[LocalMapToggle] No controller button bound to toggle_controller_button\n")
else
print(string.format("[LocalMapToggle] Button bound to toggle_controller_button: %s\n", config.toggle_controller_button))
LoopAsync(3000, function()
return pcall(
---@param context RemoteUnrealParam<AVEnhancedAltarPlayerController>
---@param key RemoteUnrealParam<FKey>
RegisterHook, "/Game/Dev/Controllers/BP_AltarPlayerController.BP_AltarPlayerController_C:InpActEvt_AnyKey_K2Node_InputKeyEvent_1", function(context, key)
local button = key and key:get() ---@type FKey
local button_name = button and button.KeyName and button.KeyName:ToString()
if not button_name or button_name ~= config.toggle_controller_button then return end
local player_controller = context:get() ---@type AVEnhancedAltarPlayerController
if not player_controller or not player_controller:IsValid() then return end
if player_controller:WasInputKeyJustPressed(toggle_controller_button) then
ExecuteInGameThread(function()
toggleLocalMap()
end)
end
end)
end)
end
Feel free to use this code; I make no claims of ownership over it :)
https://freeimage.host/i/3goAHNf
Unfortunately the Oblivion Remastered map itself is rather buggy & unstable.
And any further mods added to the map make that worse (even the console command tmm 1).
In main.lua file for this mod i changed "ExecuteWithDelay(200" to 500 instead of 200.
So far it looks like that has helped to make the Local Map hotkey N work more consistently.
And to make the Local Map open more consistently with proper textures (instead of empty or partially undiscovered).
Hopefully Bethesda actually patches the Map itself in the coming weeks.
Nevertheless great mod, was missing this option in the base game. Thanks and endorsed!
Edit: I suspect this mod randomly crashes my game when opening the map. Could also be Bethesda jank, but didn't have crashes on opening map before this mod though.
I previously used M to close map and auto local map together instead, and they never caused crashes on opening the map.
Uninstalled them since this mod does what i want and used it alone so wouldn't of been a conflict.
My games decently stable otherwise, played 5 hours today after removing it without crashes. (But yea it is oblivion, so i have had a fair amount of random crashes in my 53 hours playtime, but usually on loads or just randomly mid combat, not when opening the map)
Pasted the zip contents here
\Oblivion Remastered\OblivionRemastered\Binaries\Win64\ue4ss\Mods\LocalMapToggle
Added LocalMapToggle : 1 to the mods.txt
Have open_local_map_key = Key.nil,
and toggle_key = Key.N,
I know this means local map shouldnt open but the toggling is not working either.
Am I doing something wrong?
If using Vortex, make sure you get the Vortex version of the mod (or add an "enabled.txt" file next to the Scripts folder)
but anyway i still thank you for this mod!!
I see some other people having some problems with that so you might want to increase it or add it as a setting in the config file so people can change it themselves.