During patching, the engine compares all the content post-cook to the originally released cooked content, and uses that to determine what is included in a patch. The smallest piece of content is a single package (like a .ulevel or .uasset), so if anything changes in a package then the entire package will be included in the patch. The method you use to get the patch's PAK (.pak) file to the users will depend on your distribution platforms, but this procedure will allow you to create a much smaller PAK file that just contains the updated content.
You can patch a project you have previously released using a versioned release. Some things to keep in mind are:
- Lock down the serialization code paths at the time of release.
- Keep the released cooked content, as the UnrealPak tool uses this to determine which content should be in the patch package file.
- At runtime, mount both PAK files, with a higher priority for the patch file so any content within it is loaded first.
There are several methods for patching projects created in Unreal Engine 4 (UE4). The method used here is platform-agnostic, meaning it technically can be used for any platform. However, the only two platforms that you would intentionally use this method with are Windows and Xbox One. Other platforms have specific patching methods. You can find documentation on these platform-specific methods in the section for the platform you are planning to develop for.
This method can eventually use a lot of data storage, because this method keeps all old files, and merely points the game to the newest files that exist. Platform-specific methods often use less space.