UE5 mod manager

While that is certainly an option, there is also a simpler less heavy method.

In the virtual filesystem, PAK files are kind of like zip archives that you extract one after another into a content directory.
If two archives contain a file with the same name/path, the second will overwrite the first. That’s where PakOrder comes into play.

For example, main game wants to use texture at /Game/Textures/Logo. That virtual path maps to ProjectName/Content/Textures/Logo.
Main game pak naturally contains the original asset at ProjectName/Content/Textures/Logo.uasset
Now you add a mod pak which contains a different texture, but also at ProjectName/Content/Textures/Logo.uasset

If you give mod pak higher priority, the asset will be loaded from mod pak, while original one will be completely shadowed. That’s one way to seamlessly replace original assets without any work or overhead.


Alternatively, offering a scripting solution (such as Lua) can provide modders with all the tools to replace assets ingame (and much more). By giving them access to the full BP virtual machine, you grant them ability to iterate actors, components, read/write properties, and call functions (such as SetMesh or SetMaterial). Essentially anything Blueprints can do.

2 Likes