Crash with Google Photorealistic 3D Tiles - fix now available for UE 5.1 - 5.5

Hi everyone,

Many of you have suddenly started seeing crashes in your Cesium for Unreal applications. In many cases, the applications were working fine a few days ago, and then suddenly became unreliable. First of all, we’re really sorry for this situation, we know how terrible it is when your application suddenly stops working, perhaps even on end-user machines!

This post will explain what is happening, and what you can do to get your application running again.

The crash is caused by a recent update to Google Photorealistic 3D Tiles. If you’re not using that particular tileset, you should be unaffected. The update changed the way some of the data provider “credits” are represented. Unfortunately, this triggered a bug in Cesium for Unreal that caused it to crash when attempting to load tiles containing these new credits.

We have fixed this bug in Cesium for Unreal v2.13.3. So if you’re using Unreal Engine 5.3+, all you need to do is update to this version of the plugin and rebuild your application, and the crash should go away. You can update using the Epic Launcher. You may need to completely close and restart it for the update to appear.

To verify that you have the correct version, look in the lower-right corner of the Cesium panel in the Unreal Editor and verify that it says “v2.13.3” or later.

If you’re still using Unreal Engine 5.2, given the impact of this bug, we have back-ported this fix to Cesium for Unreal v2.11 for UE 5.2. You can find v2.11.1 here.

This release must be installed manually by following these installation instructions.

We have also sent this UE 5.2 version to Epic for publishing on Fab so that you can easily install it via the Epic Launcher. However, Epic usually only allows plugin updates to be published for the three most recent Unreal Engine versions, so they may or may not accept this update. We will update here if and when they accept it, but until then, please install using the instructions above.

Update: The UE 5.2 version is now available via the Epic Launcher, and a hotfix release for UE 5.1 is available as well. Please see below.

Sorry once again for the hassle! Let us know if you run into any trouble.

Kevin

could you please maybe point us to copyright piece of code that handles parsing so we could fix it ourselves if we are not using unreal engine 5.2+?

@Martin_Dlabaja,

could you please maybe point us to copyright piece of code that handles parsing so we could fix it ourselves if we are not using unreal engine 5.2+?

Sure, but it won’t be extremely easy to incorporate, because the fix is in cesium-native, a library that Cesium for Unreal depends upon. Here is the change:

Specifically in the updated parseGltfCopyright function in GltfUtilities.cpp.

This source file is not distributed with the built Cesium for Unreal plugin. So, to modify it, you’ll need to follow the Developer Setup instructions:
https://cesium.com/learn/cesium-unreal/ref-doc/developer-setup-unreal.html
https://cesium.com/learn/cesium-unreal/ref-doc/developer-setup-windows.html

yeah, I am aware, I just wanted to try, because if I cant fix it, I will have to convert like 10 unreal apps into new unreal version and fix all the issue with converting from 5.1 to 5.5.

so I will just try my luck before this last resort

thank you Kevin! :+1:

Epic has accepted our update, so you can now get the fix for UE 5.2 through the Epic Launcher as well! As always, you may need to completely close and restart it for the update to appear.

We have just created a hotfix release for Unreal Engine 5.1 as well. You can find it here:

Unfortunately, this release does not support macOS or iOS, because GitHub Actions no longer supports the macos-12 runner that was last used to build Cesium for Unreal with Unreal Engine 5.1, and the oldest now-supported runner, macos-13, has a version of Xcode that is too new to use with Unreal Engine 5.1. Please let us know if you’re impacted by this.

We’ve received word from Google that they’ve rolled back their change that triggered the issue in the first place. So at this point, Google Photorealistic 3D Tiles should be working even in old versions of Cesium for Unreal. Please let us know if you’re still having trouble! And of course, we do still recommend you upgrade as soon as practical, in order to avoid possible issues re-emerging in the future.

Firstly, thanks for putting up this post. Before seeing this post, I was absolutely clueless about why the Google 3D tiles failed to load, when it was working a couple of weeks back, in spite of no changes in the UE5 project.
Coming towards Google’s fix for the problem, my UE5.3 project is currently on 2.13.2, still, it does not load 3D tiles, which is why I ended up being here.
For the Cesium fix, Fab marketplace still does not show 2.13.3 update, so I need to manually update the plugin. I will post here if that works.

Hi @chai2prince, welcome to the community!

Ongoing crashes in older versions, even after Google’s fix, could be caused by some bad data in the request cache. Try deleting it and see if it helps. The request cache is found here:

C:\Users\kevin\AppData\Local\UnrealEngine\5.3\cesium-request-cache.sqlite

Replace kevin with your username, and 5.3 with your Unreal Engine version. If there are cesium-request-cache.sqlite-shm and cesium-request-cache.sqlite-wal files in that directory, delete those, too. You’ll need to close the Unreal Engine Editor and any application in order to be able to delete these files.

If you’re still having problems, please let us know where in the world you’re looking when you see the crash. There’s a possibility that some of Google’s tiles still have the problem (though I don’t know of any cases of this).

As far as upgrading to v2.13.3, it should definitely be on Fab at this point. I just reconfirmed that v2.13.3 is available for UE 5.3 from the Epic Launcher. If it’s not showing up for you, please completely close the Epic Launcher and restart it. It likes to hide in your system tray, so make sure you close it there, too. When it doubt, rebooting your computer will do the trick. Let me know if you still have trouble!