Distance tile load setting

It would be useful if there was some way of defining how many tiles load in from from your viewpoint/camera (in M/KM?). This would help with bandwidth, load times, quota longevity and improve performance etc.

Looking through the settings I’m not sure if there is a way to already do this? Is there>?

Many thanks

There’s currently not a way to do this. We often get this request, but it would be much less useful than people think. The reason is twofold.

First, it wouldn’t reduce bandwidth and load times as much as you might expect. Because of 3D Tiles’ hierarchical LOD structure, tiles in the distance are bigger and lower resolution, and there are far fewer of them. So skipping them entirely would only reduce the total number of tiles a little bit. It wouldn’t make a big difference.

Second, setting a distance in M/KM wouldn’t actually work that well. The view distance you need is highly dependent on the camera height. For applications with a fixed camera height you might get away with it, but most applications have a mix of near and far views, so a single view distance wouldn’t work.

Internally, cesium-native has a thing called a fogDensityTable:

It’s a bit inscrutable, which is why we haven’t exposed it up through Cesium for Unreal, but the basic idea is that objects that are really far away don’t need to be rendered, and the meaning of “really far away” is a function of camera height. So potentially tweaking that could help achieve your goal. But again, the gains to be had here are quite modest. I’d roughly estimate you could achieve maybe a 10-20% reduction in tile loads by bringing in the view distances, not more than that. And at the cost of having mountains vanish in the distance.

Ok, thanks understood.

I have a camera orbiting around a city centre, how can I ensure tiles are loaded in time (at the required screen space error setting) so that when the camera moves around buildings are loaded in correctly?

There’s no perfect answer to that. If you’re trying to record a video, just make sure you use UE’s Sequencer. It will automatically make sure all tiles are loaded for a frame before it snaps the frame.

But if it needs to be interactive, the best you can do is try to warm up the cache. Set the Maximum Cache Size Bytes property larger so that tiles don’t get unloaded (but not so high that your GPU runs out of memory), and then fly around letting tiles load. Revisiting those same areas again will then be much faster.

There’s also a disk cache, and warming that up will make a big difference. But unfortunately it currently isn’t helpful for the Google photogrammetry tiles (if you’re using those), because of the unusual cache header returned by the Google tiles. More details about that are here: