How to properly patch Mobile applications?

Hello everyone,

I’m currently struggling to understand how patching of mobile applications is supposed to work.

Now to give some information upfront:

  • I used the Mobile Wizard to create the initial small APK with just an EntryMap that has the Content Request etc. Nodes setup.
  • I also used the Wizard to create the “DLC1.0” that is then placed on a webserver to be downloaded by the app.

This works 100% fine and properly downloads the second map with all content.

Now the “problem” comes up when talking about patching either release or DLC.

For release patching, I assume I can simply create a new profile in the ProjectLauncher and check “Generate Patch”.
I added the release version (1.0.0) to the profile and it properly generates a “…_p.pak” file in the StagedBuilds folder.
Now how to apply that patch? The documentation says it needs to be copied next to the original pak file of that release on Windows.
I do not see that on my mobile device though. WindowsExplorer shows me an empty UE4Game folder on my phone and on the phone itself it also only shows the Engine and Saved folder.
Not a Releases folder and no where the original pak file.

I installed the APK via the bat file that is generated into the App folder when specifying the Archive option of the Profile.
I assume installing it by manually copying the APK and installing it won’t change anything.

Now I don’t know if the GoogleStore or IOS Store supports adding additional Pak files like that.
Since the Release version is usually quite small, I could live with simply recreating the APK and uploading the new version.

However would one then NOT use Pak files and generate all files unpacked? Because otherwise the whole thing is downloaded again instead of just the changes.
Or is that normal? I doubt that you always have to redownload the whole APK file from the store if someone updates it.

So what am I supposed to do for the Release here?

Furthermore, the DLC. Let’s say it’s a HUGE game, where the DLC1.0 for the additional content holds 1GB.
Now I add changes to the DLC content, that add 10MB more to that. How do I patch these in?
Since DLCs are based on Maps and their referenced content instead of a single uasset file, I can’t just regenerated a new DLC, can I?
That would result in the 1.01GB DLC1.0 again, or?

And if yes, patching doesn’t work for DLCs, as the Launcher says “Only DLC or Release”. So how am I supposed to add content to this?
A second DLC2.0 would only work if it’s a second map with new assets, but not if I want to update the existing map of DLC1.0.

The Chunk Manifest file should technically take care of patching or? So would I simply override the existing DLC1.0 and the manifest file would only require the user to download the changes?

Cheers,
Cedric

EDIT: It appears that recreating the DLC again with the original files still in place will in the end only apply changes. I created it again after changing a blueprint, uploaded all 3 folders to the Server again (overriding what is different in size) and started the app. It only downloaded 2MB instead of the initially 9MB.

Success?

Question about the release version patch still exists.

■■■■, seems like a veil of secrecy surrounding Android games patching / updates :confused:

Thank you for posting this question. I have the same exact question :).

Figured it out. After you have the patch pak file, you just need to put it in the /Saved/Paks/ directory on your android device. I am using this plugin HTTP Blueprint WebCommunication in Code Plugins - UE Marketplace to achieve this and my whole setup looks like this.

2 Likes

If you are figuring out how to make a patch file just follow this youtube video https://www.youtube.com/watch?v=V25ypOjplWM

Besides patch, I am more interested in making a DLC.

Hey all,

Sorry for the delay getting a response out to you on this.

I spoke with some folks internally and they recommend avoiding any sort of incremental patching for mobile. There are many different ways to do this, many titles that you see doing incremental patching have built their own backend tools for doing that.

For now, it might be best just to re-upload your entire project - even when making minor changes. While this may not be ideal, without an infrastructure in place to support incremental patching you run into more risks than it may be worth.

Hope this helps!

Is there any documentation on how to handle DLC on mobile?

Hi, I am also trying same, Have you got solution how you apply patch?

Hi Cerdric! Could you share your workflow and setup for making a DLC?

Hi! would you mind sharing your setup?