Precomputed Visibility simply not working

Hi there,

Thanks for the information and video.

Precomputed Visibility in Unreal Engine is evaluated per primitive component, not per actor or per instance. Actors are simply containers, what actually gets marked as visible or hidden are individual UPrimitiveComponents. Instanced Static Meshes are a special case, all instances share a single visibility state.

A common misunderstanding is that Precomputed Visibility performs static occlusion, which it does not. Instead, Precomputed Visibility is essentially a precomputed data set that divides the world into discrete regions (cells) and records which primitives may be visible from each region before the game runs. It is not camera-based. Each cell stores a list of potentially visible primitives.

Occlusion culling is what actually uses this data. Rather than performing expensive occlusion tests on every primitive, the system first uses Precomputed Visibility to narrow down the set of candidates. Occlusion culling then operates only on the primitives associated with the relevant cells, significantly reducing the workload.

For example,

as the cells shown in the image, occlusion culling first filters the relevant cells, retrieves the list of potentially visible primitives, and then performs occlusion tests only on those primitives.

Hope this helps clarify the issue. Let me know if you have any further questions.

Best regards,

Henry Liu