The issue where Cesium fails to load when doing a Shipping Build on macOS

I’m using Unreal Engine 5.6 on an Apple M1 Pro environment. When I build the project in Development, Cesium loads correctly, but in Shipping Build, Cesium fails to load. I’ve already tried adding the StarfieldServicesRootCertificateAuthorityG2.pem to the Mac System Keychain as suggested in the forum, but the issue still persists. If anyone on macOS has experienced the same problem, could you please help me?

[In Shpping Build]

[In Development Build]

Hi @skendy209, welcome to the community!

I’m not sure what might cause that problem. Are the builds running on the same system in both cases? Are they stored in the same location as well? (i.e., if one were stored locally and the other on a network drive, that could be an important difference)

Probably the first thing is to check the Unreal logs for any hint. You should be able to find them in your built project’s directory under [Project Name]/Saved/Logs.

Hi, @Kevin_Ring

Thank you for your reply!

Both builds are running on the same system (Apple M1 Pro), and they’re stored in the same location — the project is stored locally.
The following log output is from the Development Build, captured via stdout.
(I’m still trying to find a way to generate log files for the Shipping Build — with my current setup, I haven’t been able to extract any logs yet.
If you could explain how to enable or extract logs in the Shipping Build, I’d really appreciate it!)

In the log, there are the following lines:

Image not of any known type, or corrupt

Image url: https://api.vworld.kr/req/wmts/1.0.0/51A97A7F-507C-35D2-9AC0-72148E8D30E4/Satellite/3/4/5.jpeg

Could this part be causing problems in the Shipping Build?

I also tried including the Cesium for Unreal source code directly into the project and attempted the Shipping Build again — including the Starfield certificate — but the results were the same.

CustomLogfile.zip (33.1 KB)

Did you check the Saved directory in the built project output directory? With the Cesium for Unreal Samples project, logs are stored there, even in Shipping builds. I don’t think we did anything special to make that happen.

That image error is strange (it suggest a broken jpeg, or at least one that Cesium for Unreal is unable to decode for some reason), but I don’t think it would cause the Shipping built not to work at all.

1 Like

I am also having this Issue which I have raised in the GitHub repository: Google 3D tiles not loading in shipping packaged builds on Mac · Issue #1756 · CesiumGS/cesium-unreal · GitHub

And I too am having issues finding logs for this. In my research, it suggests the way to get logs to generate in shipping builds is to do a custom build of the engine source as it requires source code changes.

1 Like

The reason that tileset don’t work in Shipping builds on macOS is because, by default, the “entitlements” file used by Unreal Engine disallows network access in shipping builds. More details here:

1 Like

@Kevin_Ring I sincerely appreciate your help and detailed explanation.
I had spent quite some time trying to resolve this issue on my own, but couldn’t find the solution.
I’m really glad it’s finally resolved thanks to your support.
It’s a bit late, but I wanted to express my gratitude once again — thank you very much!