How to load pakfiles especial the references

Hello,

I’m working on an application that will need to load content – uassets – that will be generated over time after the application’s release. Sort of like DLC, but it’ doesn’t have to be very automatic or tightly integrated into the user experience. If the simplest way to do this is command line flags when running the application, then so be it.

I’ve been hunting around for solutions to this, and I don’t see a lot of helpful information out there. The best I’ve got so far is that I’m packaging up my umap and associated uassets into a pak file, using FPakPlatformFile to mount it at runtime, and using FStreamableManager to load all that into memory. This is all pretty much gleaned from ( Stream an asset from the internet - Blueprint - Unreal Engine Forums ).

However, this is still not working as I’d like. Specifically:

The FPakPlatformFile only seems to be able to mount the pak file to the Engine Content directory, and not the Game Content directory (if you try to mount under game content the files just don’t show up). This breaks all the asset references, such as the materials applied to the models, because that was all created under Game Content.

Once the contents of the pak file have been loaded, I have been able to use some of the assets, by doing things like spawning in StaticMeshActors that utilize the meshes from the pak file. However, I have yet to be able to successfully load a level (umap) from the pak file. I’ve tried various methods, including using UGameplayStatics::OpenLevel and level streaming with UGameplayStatics::LoadStreamLevel, but everything crashes in different ways, depending on if I’m trying to do it in the Editor or standalone.

Can what I want to do be done? It really seems like it should be possible, but if it is, then the solution seems remarkably hard to find. Please help! Thank you!

the issue from What is the best way to load a map (and other content) created after release? - Community & Industry Discussion - Unreal Engine Forums. but no answer