Quick answer: Foliage vanishing at distance is usually caused by the Cull Distance Max setting on the foliage type being too low, a Cull Distance Volume overriding your per-type settings, or the foliage mesh’s final LOD being set to cull. Check the foliage type’s Instance Settings first, then look for volumes in your level.

You’ve painted a dense forest across your open-world map. It looks fantastic up close. But as the camera pulls back or the player walks a few hundred meters away, entire patches of trees blink out of existence, leaving barren terrain that breaks the immersion entirely. This is one of the most reported visual bugs in open-world Unreal projects, and it has several overlapping causes that make it tricky to diagnose.

Foliage Cull Distance Settings

The first place to look is the Cull Distance on each foliage type. Open the Foliage tool (Shift+3), select the affected foliage type in the palette, and expand Instance Settings. You’ll find two values: Cull Distance Min and Cull Distance Max.

Cull Distance Max is the distance (in Unreal units, where 1 unit = 1 cm by default) at which instances are completely hidden. If this is set to 10000, your foliage disappears at 100 meters — far too close for large landscapes. For trees and large vegetation, you typically want this at 50000–100000 (500m–1km) or higher. For grass and small ground cover, 10000–20000 is reasonable.

Cull Distance Min controls where the fade-out begins. If Min is 8000 and Max is 10000, foliage will start fading at 80m and be fully invisible at 100m. Setting both to 0 disables distance culling entirely for that type — useful for testing but not for shipping.

A common mistake is leaving the default cull distance values when adding new foliage types. The defaults are often conservative, and they don’t account for the scale of your specific world. Always adjust these values per foliage type based on the visual importance and size of the vegetation.

Cull Distance Volumes

Even if your per-type cull distances are generous, a Cull Distance Volume in your level can override them. These volumes define distance-based culling rules for all objects within their bounds, and they take priority over individual settings.

Open the World Outliner and search for CullDistanceVolume. If one exists, select it and inspect its Cull Distances array. Each entry maps a size threshold to a cull distance: objects smaller than the size threshold will be culled at the specified distance. If your foliage meshes fall under a size threshold with a short cull distance, they’ll disappear regardless of what the foliage type settings say.

To test whether a Cull Distance Volume is the culprit, temporarily delete it or move it away from your foliage. If the foliage suddenly renders at distance, you’ve found the problem. Either adjust the volume’s size-to-distance mappings or increase the bounding size of your foliage meshes so they fall into a less aggressive culling tier.

LOD Settings on Foliage Meshes

The static mesh itself may be configured to cull at its final LOD level. Open the mesh asset in the Static Mesh Editor and check the LOD Settings. If the last LOD has Screen Size set to a value that causes it to disappear before the cull distance kicks in, you’ll see foliage popping out at mid-range distances.

Look specifically for whether Auto Compute LOD Distances is enabled. If it is, the engine calculates screen-size thresholds automatically, which may not align with your foliage cull distances. Consider setting LOD distances manually for foliage meshes. For a tree mesh, a reasonable setup might be:

Make sure the final LOD does not set Screen Size to 0, which tells the engine to cull the mesh entirely at that distance. For foliage that needs to be visible at extreme range, add a billboard or impostor LOD as the last level instead of relying on culling.

Instance Count and Performance Limits

Unreal’s foliage system uses Hierarchical Instanced Static Meshes (HISM) to render thousands of instances efficiently. However, there are practical limits. When you exceed the rendering budget — either through sheer instance count or draw call complexity — the engine may aggressively cull distant instances to maintain frame rate.

Check the console command stat foliage to see how many foliage instances are being rendered, culled, and processed per frame. If the instance count is extremely high (millions of painted instances), consider these optimizations:

When players report foliage popping or disappearing, capture the camera position and direction. With Bugnet’s automatic device and scene data collection, you can reproduce the exact conditions that triggered the cull — which makes these distance-dependent bugs much faster to track down.

If your forest disappears at 100 meters, the Cull Distance Max is lying to you. Check the volumes.