How to verify precomputed visibility is working?


I have turned on precomputed visibility and have a volume (and can see the visibility cells in the editor) so presumably everything is being generated correctly, but I’m not seeing any performance difference in the game (occlusion culling is turned off).

Is there any way to see what is being drawn by the visibility cells? I hid a big occluder in my scene without rebuilding visibility and it looks like everything is being rendered all the time (as if precomputed visibility is doing nothing even though I’m in valid visibility cells). I found old documentation for UDK but it doesn’t seem to be relevant to current Unreal.

It would be ideal/amazing if there were a wireframe draw mode that respected visibility (instead of making everything transparent as far as vis goes).

This is on PC version 4.10.



Good question.

Hi Skellington,

If you turn off Occlusion Culling in the Project Settings this will disable Precomputed Visiblity from working as well.

The old documentation is still fairly relevant. There are a couple of things that have not been added or will not be added to UE4, but other than that it still holds true.

You can use the command Stat InitViews to see how well the precomputed visibility is working in your scene.

Specifically look at the Statically Occluded Primitives and Occluded Primitives stats for occlusion results. These stats will be most reliable while in PIE or Standalone Game.

The main difference between these two stats is how many primitives the dymamic occlusion system culled that precomputed visibility missed. Statically Occluded Primitives should be somewhere between 50-80% of the value of Occluded Primitives. Precomputed Visibility will cull less objects because it stores information for large cells and does not handle dynamic or masked occluders.

Well, I tried again and I don’t see any change in performance with precomputed visibility. And using InitViews I don’t even see a line for “Statically Occluded Primitives.”

I have turned it on, left occlusion culling on, put in a precomputed visibility volume, run the build step, and looked at the precomputed visibility volumes (plus I have the warning on if the camera is not in a volume). But when the camera is in a volume, nothing seems to change. It’s as if the occlusion culling is exactly the same.

Thanks for any help!

Any more info on this? I am in the same boat and “Statically Occluded Primitives” are never present. All the other stuff is set up as specified occlusion is enabled, precomputed visibility as well, I see the cells I also get warning for the camera whan it is outside of the precomputed visibility but even if I am inside nothing is statically occluded.