KNOWN ISSUE: Tilesets not loading in packaged Unreal apps

fixed the issue, thanks

For anyone still having problems, please download and run this built version of the Cesium for Unreal Samples project:

In fact, I’d appreciate it if anyone running into this problem could do this before attempting to fix it themselves (such as by installing a missing certificate, as described above).

You should see Cesium World Terrain + Bing Maps in the hills outside Denver. If you don’t, please send me the log file it generates, which will be found in:
CesiumForUnrealSamples/Saved/Logs/CesiumForUnrealSamples.log

If you this project works fine, but your own project does not, please tell me that. This project is built for Windows only, so if you’re seeing this problem on some other platform, please tell me that as well.

We appreciate everyone’s help and patience with all this. It’s not clear why our new certificate - which is created by AWS and should be considered valid by any reasonable criteria - is being rejected by a subset of systems. Since none of our own systems are currently exhibiting this behavior, we need your help to understand what is going wrong.

Hello, Kevin!

I am having issues loading tile sets in every project uploaded to a pixel streaming service (Arcware).

To avoid redundancy, please refer to my reply HERE

Thank you

I’m slowing learning a bit more here…

From what I can gather piecing together information from various non-authoritative sources, Windows has a mechanism where it automatically downloads new certificate authority certificates from Windows Update on-the-fly as they’re needed. However, it can only do this for applications that use the “proper” Windows APIs to manage certificates. Presumably, this does not include Unreal Engine.

Therefore, if you’re running on a system where the “Starfield Services Root Certificate Authority - G2” certificate has never been needed before, then it won’t be available to Unreal Engine, either. And so the api.cesium.com certificate will fail validation.

Unfortunately, neither Google Chrome nor Microsoft Edge appear to use the requisite APIs, so accessing api.cesium.com from either browser will not download the appropriate certificate into the Windows certificate store. However, you can use PowerShell!

Run the following from a PowerShell command prompt:

Invoke-WebRequest "https://api.cesium.com"

You’ll see a message to the effect of “GET is not allowed”. This is fine and expected.

But doing this request from PowerShell should automatically download “Starfield Services Root Certificate Authority - G2” certificate from Windows Update and install it in the Windows certificate store. From then on, your Unreal Engine applications will be able to use it, too.

Now that I understand better what is happening, I’ll see if we can make changes to Cesium for Unreal to avoid this problem entirely. But in the meantime, this technique is probably easier than manually installing a certificate.

Note that there is a registry setting that will prevent all automatic certificate updates. This is off by default, but if your corporate IT (for example) have enabled it, then the above won’t work.

2 Likes

Sorry, my computer will report the following error

Invoke-WebRequest : {“code”:“MethodNotAllowed”,“message”:“GET is not allowed”}
所在位置 行:1 字符: 1

  • Invoke-WebRequest “https://api.cesium.com
  •   + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest],WebExce
      ption
      + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

I tried the same steps and got the same error.
However, when I subsequently opened the packaged UnrealEngine app, the Cesium TileSet was loaded successfully.

Hi All, i tried the same steps above,
got the same message in powershell, Invoke-WebRequest : {“code”:“MethodNotAllowed”,“message”:“GET is not allowed”}

However i checked my build and its working, the Cesium data is showing
Thank you @837383501 & @Kevin_Ring @kinnajichan

To emphasize what Kevin already said:

It will print an error message. But it should still update the certificate. So after you have seen the error message, you can try out Cesium For Unreal again, and it should work :crossed_fingers:

1 Like

Thank you so much, this worked for me. I still had problems even after adding “Slate” and “SlateCore” to my dependencies - but the “Invoke-WebRequest” call made the Tilesets work! I think it saved the log file from when it didn’t work - are you still interested in this? Then I can send it to you.

Hi @NEWTON_TSt, welcome to the community!

Glad to hear it worked for you, and thank you for the offer of the log file. I think at this point we have a pretty good handle on what went wrong for people. Since the recommended solution worked for you, your situation is likely consistent with our understanding, and we don’t need your log file.

Where we’re less certain is what to do about it, so that the workaround isn’t necessary. The “best” solution would be a change in Unreal Engine itself.