How can I prevent chunks from being included in Android .obb in order to remotely fetch them via the ChunkDownloader Plugin?

Hello,

I’m currently working on an app that needs to download and mount optional chunks at runtime. To simplify, let’s say It’s a modelviewer where you select a model and its chunk is downloaded from a server and mounted at runtime, then displayed. I’ve been using ChunkDownloader for this purpose and have managed to deploy a succesful test project on Windows.

The issue is that when I try to adapt this to Android and package my project from File/Package Project/Android, I end up with an .apk and an .obb. The underlying problem here is that the .obb contains the .pak files that I wand to host remotely and fetch at runtime, but in this state the .obb is required in order for the app to work properly, which goes against my initial intent of these being “optional” content.

So, my question is :

Is there a way to either prevent my optional chunks to be included in the .obb or to exclude these chunks from the packaging and package them separetly ?

Here is the answer I got from Michael Prinke, which allowed me to solve this issue :

I got your Email regarding the chunks/OBBs. In DefaultEngine.ini, you need to add a series of OBB filters, like so:

[/Script/AndroidRuntimeSettings.AndroidRuntimeSettings]
+ObbFilters=“-pakchunk1

+ObbFilters=“-pakchunk2

+ObbFilters=“-pakchunk3

+ObbFilters=“-pakchunk4

+ObbFilters=“-pakchunk5

+ObbFilters=“-pakchunk6

+ObbFilters=“-pakchunk7

+ObbFilters=“-pakchunk8

+ObbFilters=“-pakchunk9

This will exclude pak files from your OBBs that include any part of the provided strings in their names. I’ve added this > to the GooglePAD docs, as it affects that solution too, but I’ll find a home for this in the general patching docs as well > so it doesn’t get overlooked.

4 Likes

So I’m facing the same issue right now. The .pak files are being generated but they’re also being packaged into the obb file increasing it’s size to gbs.

I tried the obbfilters thing that you added in the previous post but it did not help.
Is there any other step that you had to do?

For anyone else facing the same issue. This is the syntax:

[/Script/AndroidRuntimeSettings.AndroidRuntimeSettings]
+ObbFilters="-*pakchunk1*"
+ObbFilters="-*pakchunk2*"
+ObbFilters="-*pakchunk3*"
+ObbFilters="-*pakchunk4*"
+ObbFilters="-*pakchunk5*"
+ObbFilters="-*pakchunk6*"
+ObbFilters="-*pakchunk7*"
+ObbFilters="-*pakchunk8*"
+ObbFilters="-*pakchunk9*"

So I’m facing the same issue on iOS. All paks are packaged inside the .ipa file when making builds.
How to stop this from happening on iOS?

1 Like