Download

UE4 equivalent of AssetBundles (Unity)

I’m doing a bit of research to see if we can drop Unity. In what we do, we make heavy use of Unity AssetBundles (loading baked assets at runtime).

Does UE4 have an equivalent construct? I know there are .uasset files but I understand these are more for the editor?

You could take a look at Object Libraries. Will they do the trick for your project?

You could also use pak files. Pak is a single package containing multiple asset files (only content, no DLLs etc).

There’s a UnrealPak.exe under Engine/Binaries/Win64. Here’s example how it can be used

UnrealPak.exe D:\MyAssetPak.pak PathToYourProject/Content/FolderToAddToPak1 PathToYourProject/Content/FolderToAddToPak2 …

or

UnrealPak.exe D:\MyAssetPak.pak -create=PathToResponseFile.txt

where the ResponseFile could be:



..\..\..\Engine\Content\Editor\Slate\*.*
..\..\..\Engine\Content\Localization\*.*
..\..\..\Engine\Shaders\*.*
..\..\..\Engine\config\*.*
PathToYourProject\*.uproject
PathToYourProject\Config\*.*
PathToYourProject\Content\Localization\*.*
PathToYourProject\Saved\Sandboxes\Cooked-WindowsNoEditor\Engine\*.* ..\..\..\Engine\*.*
PathToYourProject\Saved\Sandboxes\Cooked-WindowsNoEditor\ProjectName\*.* ..\..\..\ProjectName\*.*


Note that the last two lines re-base the content from Cooked folder to Content folder.

There’s more info in UnrealPak.cpp, line ~582:



 * Params:
 *   -Test test if the pak file is healthy
 *   -Extract extracts pak file contents (followed by a path, i.e.: -extract D:\ExtractedPak)
 *   -Create=filename response file to create a pak file with
 *    where the first number is the private key exponend, the second one is modulus and the third one is the public key exponent.
 *   -TableMax=number maximum prime number in the generated table (default is 10000)