Unreal Engine 5.4.1 with Cesium for Unreal 2.5.0 fails to package iOS

Hello.
Cesium for Unreal 2.5.0 was released on Marketplace and I installed it on Unreal Engine 5.4.1 and tried to package it for iOS.
Then I got the following error and packaging failed.

UATHelper: Packaging (IOS): ------ Building 4 action(s) started ------
UATHelper: Packaging (IOS): [1/4] sh /Users/macneko/UnrealProjects/CFUSample2 5.4/Binaries/IOS/CFUSample2
UATHelper: Packaging (IOS): ld: library not found for -l/Users/Shared/Epic Games/UE_5.4/Engine/Plugins/Marketplace/CesiumForUnreal/Source/CesiumRuntime/../ThirdParty/lib/iOS-xarm64/libktx.a
UATHelper: Packaging (IOS): clang: error: linker command failed with exit code 1 (use -v to see invocation)
UATHelper: Packaging (IOS): Total time in Parallel executor: 1.84 seconds
PackagingResults: Error: linker command failed with exit code 1 (use -v to see invocation)
UATHelper: Packaging (IOS): Total execution time: 7.11 seconds
UATHelper: Packaging (IOS): Took 7.22s to run dotnet, ExitCode=6
UATHelper: Packaging (IOS): UnrealBuildTool failed. See log for more details. (/Users/username/Library/Logs/Unreal Engine/LocalBuildLogs/UBA-CFUSample2-IOS-Development.txt)
UATHelper: Packaging (IOS): AutomationTool executed for 0h 0m 9s
UATHelper: Packaging (IOS): AutomationTool exiting with ExitCode=6 (6)
UATHelper: Packaging (IOS): RunUAT ERROR: AutomationTool was unable to run successfully. Exited with code: 6
PackagingResults: Error: AutomationTool was unable to run successfully. Exited with code: 6
PackagingResults: Error: Unknown Error

I assume it is a plugin issue as it also occurs in the Cesium for Unreal sample project.
Can you please tell us how to solve this problem?

1 Like

Hi @macneko,

This appears to be a bug in our 2.5.0 release. I wrote an issue here:

We’ll get this fixed as soon as we can.

In the meantime, here’s a workaround you can try. I’m not certain this will work, but it’s worth a try. In your Unreal Engine directory in Engine/Plugins/Marketplace/CesiumForUnreal/Source/ThirdParty/lib/iOS-xarm64/ktx.framework/, there’s a file named simply ktx. Copy that file to the parent directory (Engine/Plugins/Marketplace/CesiumForUnreal/Source/ThirdParty/lib/iOS-xarm64/) and rename it to libktx.a. Then try again and see if you’re able to package.

Otherwise, the only other workaround is to use the previous release (v2.4.1). However, that also means you’ll need to go back to UE 5.3. If you want to use the previous release, instructions are here:

Hi @Kevin_Ring

Thanks for the reply.
I will wait for the bug fix and try the workaround as well.

Let me know if the workaround works for you. I’m very curious, and can’t easily try it myself.

Hi @Kevin_Ring

I tried the workaround you gave me.
We succeeded in packaging it as you predicted!
I will proceed this way for now until the plugin modifications are completed.
Thanks!

Good to hear! We fixed the problem properly in this PR:

So that will be included in the next release at the beginning of June. Thanks for reporting it.