Occlusion Culling for VR: Optimize Unity Scenes for 72–90 FPS

Occlusion Culling for VR: Optimize Unity Scenes for 72–90 FPS In VR projects, the camera renders objects behind walls, causing FPS drops. [Occlusion culling](https://en.wikipedia.org/wiki/Occlusion_culling) solves this: it clips invisible geometry, reducing **draw calls** by 2–3 times. We configu

Our competencies

Other studio services

Frequently Asked Questions

Latest works

  • image_games_mortal_motors_495_0.webp
    Game development for Mortal Motors
    1505
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    A turn-based strategy game set in a fantasy setting, With Fire and Sword
    1006
  • image_games_second_team_604_0.webp
    Game development for the company Second term
    635
  • image_games_phoenix_ii_606_0.webp
    3D animation - teaser for the game Phoenix 2.
    716
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Educational quiz for kids "Shopping in a store"
    95

Occlusion Culling for VR: Optimize Unity Scenes for 72–90 FPS

In VR projects, the camera renders objects behind walls, causing FPS drops. Occlusion culling solves this: it clips invisible geometry, reducing draw calls by 2–3 times. We configure it in every VR project and guarantee results.

Why Occlusion Culling Is Critical for VR FPS

In VR, the camera has two frustums (left/right eye) and a wide field of view (~100–110°). This increases the number of visible objects. Without culling, the GPU wastes resources on invisible polygons. With correct Umbra configuration, we save up to 40% of GPU time—critical for budget headsets with thermal limits. Compared to frustum culling, occlusion culling in closed scenes is 3 times more efficient: it reduces GPU load by an additional 30–50%.

Where Occlusion Culling Works Best (and Where It Doesn't)

Effective in: closed spaces—corridors, rooms, buildings, caves. A wall between rooms is an ideal occluder. Not effective in: open scenes (landscapes, nature). For those, we recommend frustum culling, LOD groups, and portal culling. In VR with wide FOV, efficiency is slightly lower, but baking with correct parameters solves it.

How We Configure Umbra in Unity: Step-by-Step

  1. Scene Analysis: identify occluders, evaluate the FPS budget, determine dynamic objects. This stage is included in the service cost.
  2. Parameter Selection: adjust Smallest Occluder, Smallest Hole, and Backface Threshold to the scene geometry. For interiors with walls 0.5–1 m thick, set to 1–2 units.
  3. Bake Umbra: run PVS calculation, with VR-specific settings (Backface Threshold 25–50).
  4. Visualization & Debugging: check with Unity Frame Debugger—compare object count in Render.OpaqueGeometry before and after culling. Typical artifacts: objects pop in when turning. Fix by increasing Backface Threshold or adding occluders.
  5. Documentation: record all parameters, provide recommendations for dynamic objects. Includes 30 days of support.

Case Study: 30-room Scene

In a project with 30 rooms, we reduced draw calls from 2500 to 800 after the first iteration. Full optimization took 4 days. The cost of configuration is calculated individually based on scene complexity. GPU budget savings exceeded 40%, extending VR headset battery life. Contact us for a project evaluation.

Comparison of Culling Methods for VR

Method Effectiveness in Closed Spaces Effectiveness in Open Scenes Setup Difficulty
Frustum culling Low (only clips outside frustum) High Low
Occlusion culling (Umbra) High (up to 90% objects) Low (<20%) Medium
Portal culling (SECTR) High (exact through openings) Medium (used with LOD) High

Recommended Umbra Parameters for VR

Parameter Value Explanation
Smallest Occluder 1–2 Minimum occluder size (in scene units)
Smallest Hole 3–5 Opening size through which culling passes
Backface Threshold 25–50 Determines how aggressively backfaces are considered

Common Mistakes in Occlusion Culling Setup

  • Backface Threshold too low (<20): causes holes in culling.
  • Missing Occluder Static on thin objects: they don't participate in culling.
  • Smallest Hole too large (>5): objects behind doorways remain unclipped.

Use the Frame Debugger to verify: the object count in Render.OpaqueGeometry after culling should be at least half of before. Incorrect setup can cost up to 50% FPS—the project becomes non-commercial.

Why Static Geometry Matters for Occlusion Culling

Occlusion culling only works with static occluders. Dynamic objects (NPCs, particles) do not participate in the bake, but they can be culled by static occluders if marked as Occludee. For complex scenes with dynamics, we supplement with portal culling via Rooms & Portals—this gives predictable results at doorways. Mark all static occluder objects as Occluder Static and Occludee Static in the Inspector.

What's Included in Our Service

  • Scene analysis: identify occluders, evaluate FPS budget.
  • Umbra bake with parameter tuning.
  • Visualization and debug of artifacts.
  • Documentation of settings and recommendations for dynamic objects.
  • 30 days of post-delivery support.

Our team has 10+ years of VR optimization experience, with over 50 projects using occlusion culling. Get a consultation—we will evaluate your project and propose a suitable solution.