The 2024-04-25 Fallout 4 update (1.10.980 and later) has broken F4SE and the rest of the native code modding scene similarly to Skyrim’s “Anniversary Edition” patch. I am working on an update and cannot currently offer a timeline for its availability, nor whether there will be any critical technical issues that would block an update. Do not email with questions.
Fixing the script extender itself won’t take that long as it doesn’t need to hook that many functions (although depending on how much free time people have and whether there are any surprises, it could still take longer than most people expect). Fixing all the mods that depend on it will take much longer, as between them, they hook lots more functions than the script extender itself, and with this update, it’s not just a case of most functions being the same, but at a slightly different address (as was typical with creation club updates, which tools could help with), but instead lots of functions have changed slightly due to using an updated compiler, and lots of functions have been inlined differently (so instead of just existing once, they get copied into every function that uses them, and then optimised differently in each place based on the surrounding code).
The solution that Skyrim players came up with was to downgrade to older versions. For example, Skyrim SE mods are all permanently version 1.5.97 supported. This can be done manually via the Download Depot commands in the Steam Console which is accessed by typing steam://open/console into the Windows “Run” prompt, or alternatively using a Downgrade Patcher mod which ironically also has to be updated for every new version.
So what I’m understanding from reading everyone’s outrage and input on this, is that Fallout London may or may not come out because of this, but more importantly, just wait a little while after the update to try out mods, just like every other Bethesda game update?
Little while could be a long while for some mods and maybe never for others. I wouldn’t be surprised if some mod developers don’t go back and fix it if they had moved on to other projects. These mods will be years old and anything that uses the script extender will have advanced features to it so they’re not a 3 minute quest mod using only existing assets found in the game itself.
Yeah this is the likely outcome. Happens all the time, tons of great old Cyberpunk mods broke with 2.0 and will probably never get updated for example.
This kind of mod is always a DLL of some kind, and typically, they’ll have you install the DLL to a location that the script extender will load DLLs from automatically (but sometimes they instead use the same name as a Windows DLL and go in the same directory as the game’s executable, as when the game tries to load the Windows DLL, it’ll try ones in its own directory before System32 and similar folders, then as long as the mod DLL in turn loads the real DLL, everything will still work). When the DLL’s loading, it’ll either overwrite bits of memory corresponding to functions with its own code, or if it needs to replace the whole function, will swap out the first few instructions with instructions to jump to a mod function instead.
I made a tutorial on reverting to 1.5.97 Skyrim SE like a month ago because it breaks again with every new update, and they STILL update it pretty frequently.
Why does Bethesda have to be obligated to ensure third party mods work on their game after an update? Isn’t that the job of the mod author to ensure their mod is compatible with the latest update? How is this any different from how any other game with mods has ever worked, ever?
Would it be nice? I guess, but it would require Bethesda to get every mod for the previous version and test for compatibility with the new update before they release their update. That’s a ridiculous request.
The thing is, modders are Bethesda’s most die-hard fans, and Bethesda games have some of the largest modding communities in the world. Many of these modding projects have taken an extraordinary amount of effort from an extraordinary amount of people. For them to not communicate and work with the community at all is a big slap in the face because modders have given people a reason to continue purchasing their games and keeping their business relevant.
Is Bethesda obligated to work with modders to try and help with backwards compatibility? Not legally, no. But their lack of effort is rightfully leaving a sour taste in many people’s mouths.
To your last point, I’m sure you didn’t mean it intentionally but that is a straw man argument; nobody is claiming that every single mod needs to be compatible with Bethesda’s updates. However, if Bethesda at the very least communicated and worked with the community even a little bit, they could make the task of updating mods substantially easier. Instead, they chose not to, and now countless of hours of work will be wasted because so many people will not find it worthwhile to update their mods to be compatible with the new version. It’s extremely unfortunate.
The game was complete a decade ago and modders are the ones that actually finish the game for them. Bethesda absolutely owes modders, specifically teams like the script extenders, some support and respect.
Fallout London is whinging but the real loser is the Fallout 4 Script Extender mod, upon which so many other mods relied.
Fallout London release or no, this has broken a massive number of mods for Fallout 4 that relied on the Script Extender.
That’s actually the bigger story here, that Bethesda declined to communicate with the modders who made the backbone of a lot of other mods.
From the Fallout 4 Script Extender home page:
https://f4se.silverlock.org/
Fixing the script extender itself won’t take that long as it doesn’t need to hook that many functions (although depending on how much free time people have and whether there are any surprises, it could still take longer than most people expect). Fixing all the mods that depend on it will take much longer, as between them, they hook lots more functions than the script extender itself, and with this update, it’s not just a case of most functions being the same, but at a slightly different address (as was typical with creation club updates, which tools could help with), but instead lots of functions have changed slightly due to using an updated compiler, and lots of functions have been inlined differently (so instead of just existing once, they get copied into every function that uses them, and then optimised differently in each place based on the surrounding code).
The solution that Skyrim players came up with was to downgrade to older versions. For example, Skyrim SE mods are all permanently version 1.5.97 supported. This can be done manually via the Download Depot commands in the Steam Console which is accessed by typing steam://open/console into the Windows “Run” prompt, or alternatively using a Downgrade Patcher mod which ironically also has to be updated for every new version.
So what I’m understanding from reading everyone’s outrage and input on this, is that Fallout London may or may not come out because of this, but more importantly, just wait a little while after the update to try out mods, just like every other Bethesda game update?
Little while could be a long while for some mods and maybe never for others. I wouldn’t be surprised if some mod developers don’t go back and fix it if they had moved on to other projects. These mods will be years old and anything that uses the script extender will have advanced features to it so they’re not a 3 minute quest mod using only existing assets found in the game itself.
Yeah this is the likely outcome. Happens all the time, tons of great old Cyberpunk mods broke with 2.0 and will probably never get updated for example.
So how do they hook into the game, is it through the .DLL libraries?
This kind of mod is always a DLL of some kind, and typically, they’ll have you install the DLL to a location that the script extender will load DLLs from automatically (but sometimes they instead use the same name as a Windows DLL and go in the same directory as the game’s executable, as when the game tries to load the Windows DLL, it’ll try ones in its own directory before System32 and similar folders, then as long as the mod DLL in turn loads the real DLL, everything will still work). When the DLL’s loading, it’ll either overwrite bits of memory corresponding to functions with its own code, or if it needs to replace the whole function, will swap out the first few instructions with instructions to jump to a mod function instead.
I made a tutorial on reverting to 1.5.97 Skyrim SE like a month ago because it breaks again with every new update, and they STILL update it pretty frequently.
Nobody liked that.
They did this to Skyrim too. Breaking mods in decade old games is ridiculous
This isn’t a great take IMO.
Why does Bethesda have to be obligated to ensure third party mods work on their game after an update? Isn’t that the job of the mod author to ensure their mod is compatible with the latest update? How is this any different from how any other game with mods has ever worked, ever?
Would it be nice? I guess, but it would require Bethesda to get every mod for the previous version and test for compatibility with the new update before they release their update. That’s a ridiculous request.
The thing is, modders are Bethesda’s most die-hard fans, and Bethesda games have some of the largest modding communities in the world. Many of these modding projects have taken an extraordinary amount of effort from an extraordinary amount of people. For them to not communicate and work with the community at all is a big slap in the face because modders have given people a reason to continue purchasing their games and keeping their business relevant.
Is Bethesda obligated to work with modders to try and help with backwards compatibility? Not legally, no. But their lack of effort is rightfully leaving a sour taste in many people’s mouths.
To your last point, I’m sure you didn’t mean it intentionally but that is a straw man argument; nobody is claiming that every single mod needs to be compatible with Bethesda’s updates. However, if Bethesda at the very least communicated and worked with the community even a little bit, they could make the task of updating mods substantially easier. Instead, they chose not to, and now countless of hours of work will be wasted because so many people will not find it worthwhile to update their mods to be compatible with the new version. It’s extremely unfortunate.
The game was complete a decade ago and modders are the ones that actually finish the game for them. Bethesda absolutely owes modders, specifically teams like the script extenders, some support and respect.
And I was just considering acquiring f04 to play around with mods
Oh well