Cesium Tile Loads fail with http 401 during CI build

I have a CI pipeline which build a Cesium Unreal project as one step of a much larger build process

The build log shows

LogCesium: Error: [2024-12-20 17:00:56.904] [error] [ErrorList.h:88] Errors when loading tileset:

LogCesium: Error: [2024-12-20 17:00:56.932] [error] [ErrorList.h:88] Errors when loading tileset:

How would I authorize the batch unreal build tool to access Cesium assets.

Why is the Unreal Enginre build tool even accessing Cesium tile content at build time ?

The build pipeline runs on dynamically created VMs, so if external configuration is required, what might need to be setup ? The project running the editor mode is downloading tiles and OSM building geometry properly

Hi @hetzerrr,

Are these errors causing problems for you? The project build process seems to instantiate objects in your level (I don’t know why it does this), which causes Cesium3DTileset instances to try to load tiles. I don’t think anything will break if they are unable to do so, though.

If you want these loads to succeed, though, then I don’t think any particular configuration should be required to make that happen. The VM will need internet access, of course. And either the project will need a “Project Default Token” that is allowed to access these assets (configure this by pressing the Tokens button on the Cesium panel in the Editor), or the Cesium3DTileset itself must be configured with an appropriate token. These are the same requirements for the Cesium3DTileset to work when actually running your built project.

Hi Kevin,

Is there any way to suppress these tile load attempts during a build ? It’s causing the Unreal Build tool to fail the packaging process.

Alternatively, can I include tiles cached from editor mode to satisfy the build time requirement ?

No, sorry, there’s no built-in way to do that. Were you able to figure out why your CI system is unable to load the tileset?

What I am trying to do is develop a simple utility to load tiles from a cesium server in a simple, separate step in the CI build to verify proper access using the same access token(s). Any recommendations on how to proceed ?

I built the unreal project on Windows, then committed it to github, where it’s being cloned and built on an ubuntu server. The CesiumIonSass asset file is included.

Bump

I have been able to build the UE project in question via the UE Editor, and the build required me to login.

This leads me to believe the CI build fails because there was no login from the VM building the project. So, how do I have the CI pipeline login to the Cesium backend such that the CI build can fetch tiles ? This has to be accomplished via a script with no UI as the build runs headless.

the build required me to login

I’m not sure what you mean by this. In what way did it require you to log in? What did this look like?

how do I have the CI pipeline login to the Cesium backend such that the CI build can fetch tiles ?

If you have an asset ID and a (valid) token, there’s no other login step. Sorry, but I’m having trouble understanding what you’re doing and what’s going wrong.