Flickering tileset


My simple tileset working fine in CesiumJS and Cesium for Unity flickers weirdly in Cesium for Unreal (UE 5.2.1 with Cesium for Unreal 5.2.0). The tiles are sometimes completely invisible and sometimes behaving like they are semi-transparent or something. The regular CesiumWorldTerrain works fine. See this video:
cesium_unreal.zip (1.8 MB)

And here is the tileset:
test42_3D_Tiles.zip (6.6 MB)

Any idea what might be wrong?


Hi Andreas,

This seems to be the same problem as discussed here, an older thread. Enabling “Render CustomDepth Pass” on your tileset stops the flickering, and that’s the only workaround I can suggest for now.

We created a Github issue for this bug, and I’ll bump it with a link to this thread. But we have to investigate further to figure out the cause.


Thanks for the Render Custom Depth Pass fix and for bumping the issue, Janine. I hope my example tileset will help fixing the issue permanently.

This is a bit of a shot in the dark, but does it help you remove the DitherFade material layer from the default Cesium material? Instructions here:

Sorry but I’m still quite lost in UE and maybe I’m looking in the wrong place, but I can’t find any MI_CesiumThreeOverlaysAndClipping:

You need to look in the Cesium for Unreal plugin, not in your project. The post I linked explains how to make the Content Browser show plugin content (enable “Show Plugin Content”), and where to look for the material instance within the Cesium for Unreal plugin (Materials/Instances/MI_CesiumThreeOverlaysAndClipping).

Show Plugin Content is enabled in the screenshot above, should the plugin itself be present in the root of the hierarchy to the left then? Or is there another more general Content Browser somewhere? Sorry for being an UE noob, but sometimes things seem unnecessarily complicated. No fault of yours of course.

Oh I think when the plug is installed via the Epic Launcher, it’s considered an Engine plugin. Try enabling “Show Engine Content” as well and it should appear.

Ok, found it. But removing the dither fade material didn’t solve it, sorry. No problem for me at the moment though, I have instructed our users to disable the “Render CustomDepth Pass” instead.

Ok, thanks for trying it! That’s useful information for us in tracking down the problem.

I just stumbled over the same or a similar issue. Render Custom Depth Pass solved it too. I just want to add some observations. Maybe it helps in solving the issues cause:

  • The flickering only happens on flat surfaces (fields, water, …), not on Buildings or Tree areas. (When you want to know, if you can reproduce in an area, go to the next big water surface.)
  • In my case it only happened on the max Resolution tiles (the smallest tiles, when you are close). When you go away far enough, the flickering also goes away.
  • In some areas of the world it does happen, in some not.
  • Its always the same tiles that flicker.
  • When you go away far enough from the origin of the local coordinate system, it stops happening, until you get closer again.
  • I am working with cesium for a couple of months now and always in the same areas of the world and I encountered this problem today for the first time. And now it is almost everywhere you can find flat surfaces in all of those areas I am working in. And it will also happen in a completely new project for the same tiles.
1 Like

I just got this bug as well. I had been using Cesium for multiple projects prior without issue. The flickering also goes away when the Cesium Google Tileset is selected in the Outliner. Unselected, it flickers while navigating the scene.

Just as Dysalor mentions, the flickers for me are always on flat surfaces. No buildings, trees, or even slight slopes.

I’m getting this issue as well. It decided to happen when I have a major project due from a client. I’ve been at my wits end with this. Render Custom Depth pass seems to help a little on my end but it happens slightly sometimes.

use ExponentialHeightFog its working good

Have u found any solution to this flickering problem?

In my case, using Render Custom Depth Pass solved the Problem.

1 Like