Warning: This is alpha quality software. Filesystem corruption is possible, so back up your files. Use at your own risk. Only tested with UE 5.1.
Autoload is a C++ plugin for UE4SS. It works by watching for changes to a folder of paks and hot-reloading pak files that have changed.
The selling point of this plugin is that you don't have to restart the game to update assets.
Hot-reloading paks comes with some caveats. You should first understand how pak patching works in Unreal Engine. Hot-reloading paks adds a bit more nuance on top of that. For example, any existing instances of assets will not be updated automatically. You'd have to destroy and re-instantiate them to see the updated asset.
- Download the latest release from this repository. I can only guarantee the mod will work if you use my bundled build of UE4SS; the official releases don't support C++ mods out of the box yet, so you can't just drop the mod into your installation of UE4SS and expect it to work.
- If you have a pre-existing installation of UE4SS, back it up or remove it.
- Install the version of UE4SS you just downloaded (i.e. extract all of the files into
<game>/Binaries/Win64
)
- Start with some pak files in
<game>\Content\Paks\Autoload
- When you want to update a pak file, create a new file in the directory with the same name but with '.staged' tacked on the end. At this point, Autoload should detect the new file and performs the following filesystem operations:
- Unmount the original pak
- Delete the original pak
- Rename the .staged pak to take its place
- Mount the new pak
Warning: Your success with this will vary. Sometimes it will get stuck and you just have to quit and try again. I'm working on making this more reliable.
- Check the UE4SS logs to make sure Autoload is working properly.
- Autoload requires that you create a folder at
<game>\Content\Paks\Autoload
. This isn't created automatically. - Make sure you don't have any other programs reading the paks in your game files, e.g. UModel.
git clone --recursive <this repo>
or if already cloned without--recursive
, cd in and dogit submodule update --init --recursive
- If you get an error about
RE-UE4SS/deps/first/Unreal
failing to clone, you can fix this by joining the Epic Games organization on Github.
- If you get an error about
cmake -S . -B Output
- This may fail with
CMake Error: Error required internal CMake variable not set, cmake may not be built correctly.
andCMake Generate step failed. Build files cannot be regenerated correctly.
This is probably okay and you can safely ignore it.
- This may fail with
- Open
Output/Autoload.sln
in Visual Studio (tested with VS 2022) - Build > Build Solution (or Ctrl+Shift+B)
- To deploy: Copy
Output/AutoloadMod/<build-config>/AutoloadMod.dll
to<game>/Binaries/Win64/Mods/AutoloadMod/dlls/main.dll
Thank you to @trumank for doing the initial reverse engineering of Unreal Engine and writing the code for resolving the pak mounting routines. This project would not be possible without their work.