Multiple 3DTileset objects in same level, how to dynamically load/unload

We have multiple Cesium 3DTileset objects in the same level (we point to two URLs, one for southern area, one for northern area, in the same city). We would like only one TileSet object to load, ie when you’re right above it, because we’re dealing with low CPU mobile android environments. Do you have a recommendation for how to do this, including how to aggressively unload the unused one from memory?

Hello @carlrealvr,

You may want to use sublevels to only load in the needed tileset. You can read a tutorial about georeferencing sublevels here. If you put each dataset into the respective sublevel, they should be automatically loaded and unloaded.

If you want to control when levels and tilesets are loaded more specifically, you can try loading them and unloading them with Blueprints. If you control the loading via Blueprints, then you can use that same logic to help you clear the memory when needed. You can try clearing the memory cache for a tileset by using the Set Maximum Cached Bytes node to set the max cache size to 0. You could also try changing the “Suspend Update” setting during play to prevent the tileset from updating at all when it’s not needed.

I haven’t tested out manually loading georeferenced sublevels with Blueprints. If you run into any issues or nail down the process, please post your insights here so others can learn from it as well.

I hope this helps,

-Alex