Technical request for guidance on enabling 16 KB page size support in Unreal Engine 5.4 using NDK r25b

I just did it and can confirm that it also works for Unreal Engine 5.3.
For 5.3 some things were a little bit different though.

Here is the additional info for 5.3 for the 6 links from above:

  1. In Engine/Source/ThirdParty/HWCPipe/include/CMakeLists.txt
    I also changed cmake_minimum_required(VERSION 3.6) to version 3.13 and
    target_link_options(hwcpipe PRIVATE -z max-page-size=16384) has to be added to the end of the file as this line did not exist before.

    in Engine/Build/Android/Prebuilt/PSOService/Android/CMakeLists.txt
    target_link_options(psoservice PRIVATE -z max-page-size=16384) has to be added to the end of the file as this line did not exist before.

    in Engine/Build/Commit.gitdeps.xml
    you actually have to ignore all removed lines that start with <BlobHash or <PackHash. Instead remove the lines starting with <BlobHash or <PackHash found in this commit:
    https://github.com/EpicGames/UnrealEngine/commit/a73d0e1f9fd4df9b9a795e8afde47da34e6e0fc2
    The additions starting with <BlobHash or <PackHash have to be taken from the original commit. I am not sure if this is necessary, but as the hashes are sorted alphabetically I inserted them at the correct position. You can easily do this by searching one of the few lines above or beneath the change. Some of those lines do not exist in 5.3 so if that happens, just pick another until you find one. Then look where it fits alpabetically and insert it.

  2. Only do the changes for: Engine/Source/ThirdParty/GoogleGameSDK/gamesdk/games-frame-pacing/CMakeLists.txt
    Omit the other changes from the commit.

  3. Not needed for 5.3

  4. Like in the 5.4 solution

  5. You have to insert the whole function, as it does not exist yet. So just insert the whole
    static FORCEINLINE int64 GetMemoryMappingAlignment() function at line 127

  6. FPlatformProperties::GetMemoryMappingAlignment() is found twice in the file. Replace both instances with FPlatformMemory::GetStats().PageSize

Hope that helps!