Selectively disable occlusion culling for actors


I’ve spent a day trying to fix this through googling and have hit a dead end. I’ve got these simple spotlight meshes with baked animations behind some buildings. They’re culling in parts of their animation where they are most occluded by the buildings in-front of them.

I’ve tried turning occlusion off at a project level (which is not feasible for this project obviously), this largely fixed the issue. My understanding is that the project settings check-box disables all methods of culling in use by the engine.

Turning HZB occlusion off didn’t help.

Increasing bounds of the mesh didn’t help, even increasing it to 1000% of its default didn’t help.

From what I’ve gathered, this problem is difficult to solve in UE4 and the best direction toward a solution I’ve been able to find was through some material-magic involving pixel depth, which sounded fairly instruction-expensive.

Please, any help is very much appreciated, thank you!

What I’ve Tried__

-Project Settings > Rendering > Occlusion Culling
*Can tell it disables all culling methods, the front beam stays visible through its animation. Beam behind it still culls. This is not a viable solution anyways, obviously.

-*Expanding actor render bounds scale
*People say you should just have to nudge this beyond the default 1.0. I’ve got it at 20 and that helped the culling marginally. Still no where near solved.

-*Adding spans along the length of the mesh
Splitting the mesh several times along its length did not help.

*-*Removing occluder flag on building in front of the actor
Unchecking “Use as Occluder” did not help.

It seems that you can either set the “Bounds Scale” in the Rendering section of an actor to a very large value, or enable “Rendering to Custom Depth” to not have the actor get occlusion culled.


Unfortunately, both methods do not seem to work dynamically, probably because they construct a tree of all objects that need testing for occlusion at edit time (or on start up of the game?), as it would be too expensive to have to update that throughout the game. It has worked for me to e.g. set “Render Custom Depth” to true on the BeginPlay node of my actors.