Crash when Raster Overlay Polygon exists and associated tile unloads during view update (updateView)

We are encountering a crash related to the ACesium3DTileset when using UCesiumPolygonRasterOverlay with runtime-generated ACesiumCartographicPolygon actors.

  • We dynamically spawn polygons (ACesiumCartographicPolygon) and add them to a UCesiumPolygonRasterOverlay.
  • While playing (moving pawn/camera) or when exiting PIE (ESC), if the player moves far away from the area where a polygon was added:
  • Cesium unloads the associated tiles (normal behavior — cache eviction).
  • However, on the next frame, updateView() is called.
  • Since the raster overlay was tied to a tile that has now been unloaded, Cesium tries to update invalid memory.
  • This triggers a crash at this line inside Cesium3DTileset.cpp:
  • TRACE_CPUPROFILER_EVENT_SCOPE(Cesium::updateView)
    pResult = &this->_pTileset->updateView(frustums, DeltaTime);

Hi @Ebaad_chaudhary, welcome to the community!

This bug should be fixed in Cesium for Unreal v2.16.0, which was released yesterday.

Here is the pull request that fixed it: