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.