"Opposite" Level Streaming Volume?

I’m currently stuck with an issue regarding my open-world map. I have a dense forest that is surrounded by a far-reaching landscape. Within the depths of the forest the landscape becomes invisible and should be unloaded, which would massively boosts FPS. So far I’ve set my entire level up with distance culling and streaming volumes, but neither works particularly great for removing the massive outer landscape, which should only become visible at the edges of the forest, where vegetation becomes more light. I guess the perfect solution here would be to have a level streaming volume that makes the landscape invisible when stepping inside it, while making it visible again when exiting the volume. Sadly I’ve only been able to achieve the first step here by using “SVB Loading Not Visible” in the streaming volume and ticking “initially loaded/visible” in the level details. Entering the streaming volume would then turn it permanently invisible without turning the hidden sublevel back on when leaving it.

I guess alternatively I can set up hundreds of streaming volumes that make it visible at the outer edges of the forest, but there must be a more elegant way to do this, right? :frowning:

There are a few ways to address this:

  1. For the landscape - you can have max draw distance set, which will hide the parts of the landscape that are farther than x distance. If set too low you’ll see tiles appear and disappear in the distance. Be warned that in UE 4.23, there is a bug that doesn’t allow you to change the max draw value once you set it: https://answers.unrealengine.com/que…nce-stuck.html
  2. For the streaming volume (or any volume really since we’re scripting this ourselves), you can add an begin overlap blueprint node to toggle the level details visibility (or toggle the visibility of the sublevel that contains them) and then an end overlap blueprint to do the opposite.

Some additional notes though - depending on the implementation, things that are hidden may still incur a cost, which adds up if you have a lot of things toggling/checking distance. One hack-ish way I’ve worked around this is to instead toggle a wall in the distance that blocks the view of a lot of detailed objects, so it accomplishes the same goal of not drawing the extra details. The occlusion check done this way seems cheaper than actually going through and toggling off visibility on large parts of the map.