Loading/Unloading Landscape components/tiles without World Partition?

We have a fairly large landscape with a lot of tiles, but due to the non-open world nature of our project we’re using classic level streaming, as it allows us to have better control about what is being loaded.

The project uses a pretty large landscape with a lot of tiles, but in most cases only a fraction of these tiles should be visible. Is it possible to unload/load these tiles individually through level streaming? Maybe through Blueprint? We already did an elaborate test run with World Partition, but unfortunately our performance metrics were significantly worse with that system in place.

In non-WP levels, Landscapes are a single actor, so if the landscape is loaded, all the components of the landscape are loaded.

You could maybe split up the landscape into multiple landscape actors, but that’ll get really hard to manage any changes to the landscape (i.e. sculpting or painting on the borders of landscapes).

From a rendering performance standpoint, landscape components are subject to frustum and occlusion culling, so just because all of the components are loaded doesn’t mean they’re all rendering and eating up your VRAM.

1 Like

We have a particularly large landscape surrounding a forest area and actually see a tangible difference in performance when the landscape actor is fully unloaded. We’ll likely have to split the landscape up into several actors and see how that performs if there’s no other solution. Thank you so much for the reply!