Streaming paks from server

I am trying to adapt the code found in this repo () to stream a .pak from a remote server. Right now I am testing with this AWS server (), but I’m just looking for a proof of concept.
I have been able to mount the materials in a pak once it has been downloaded, but I’m struggling with the streaming half of my problem.

Any help or advice would be really appreciated!
Thanks! -

How did this work out? Entering the rabbit hole myself now!

I just glanced at that async stream code and would approach it differently. My approach would be to use a HttpRequest to download the data. Then use our file helpers to save an array of bytes to a file. Mount that pak file and you’re ready to read from it. This is what Paragon does and is very similar to what Infinity Blade and Gears of War did (I wrote all 3 versions).

Hi, Are there any specific points you can think of to load a umap from the pak file? I’m having great difficulty as can be seen at How to load a map from a dynamic level - Programming & Scripting - Unreal Engine Forums. Thanks.

There’s nothing special about the process. Just make sure you have the pak file mounted first. Then you can open the map like any other.

Thanks for the response.

It appears to be mounting fine, and it even looks like it is finding the umap (both /Game/MyMap and just MyMap seem to work) but it is failing to resolve it with a “SearchForPackageOnDisk took 0.136s, but failed to resolve SubGame.umap” error.

To create the pak file I cook the project, then use unrealpak.exe to pack the files that are in “Saved\Cooked\WindowsNoEditor”. Does that sound correct?

Thanks again for your help.

Thanks, yes I have listed the files with the unpack tool and they are there - I looked for a programmatic “list” option - it would be very useful, unfortunately I’m tied to 4.10 but it would still be useful to test with to ensure the unrealpak and it’s output are the same - I’ll take a look. Thanks.

I haven’t generated a PAK file that way. I’ve been using our delta process related to updating content. However, it could be that you aren’t using the full path needed to find it. Not sure if this has made it into 4.11 or not, but I’ve added a visitor option to the OnMountPak() call that lists out the files it believes are in that PAK file. Another option is to use the UnrealPak tool to list what it packaged up and their corresponding paths to make sure you have all of the files that you think should be there