Quick answer: Godot Occluder3D doing nothing for FPS in built scenes? Bake occluders via the editor, enable use_occlusion_culling in project settings, and verify Occluder shapes face the right way.
A scene has an Occluder3D wall, but the FPS-sapping props behind it still render. Occlusion culling isn’t actually on.
Enable in Project Settings
Project Settings → Rendering → Occlusion Culling → use_occlusion_culling = true. Without this, all Occluder3D nodes are ignored. Enable BVH build at startup too.
Bake the Occluder Shape
Occluder3D needs a ArrayOccluder3D or a baked occluder asset. The Bake Occluders menu generates them from your scene’s static geometry — rerun when geometry changes.
Face Normal Direction
Occluders are one-sided. The face must point at the viewer to cull. A flipped occluder is invisible to the culler — check via the visualizer (Debug → Visible Occluders).
Verifying
Enable Display → Show Statistics. Walking behind an occluder drops the visible mesh count significantly. FPS improves on the GPU side too.
“Occluder3D needs the project setting on, a baked shape, and the right orientation.”
Bake occluders as the last step of level building — they don’t auto-update when you move walls.