Occlusion Culling Now Live in Roblox Client

Hi Creators,

We’re excited to announce that Occlusion Culling is now live in the Roblox client for all experiences on Windows PCs, with other platforms coming shortly (we’ll update this post)! Occlusion Culling improves FPS by not drawing objects hidden behind other objects, so that the GPU spends no time on them.

Occlusion Culling works on all Roblox experiences, with no action from you required. You can see the effectiveness of Occlusion Culling using the wireframe view in Studio. Here’s an example:

Figure: Left (storefront), middle(no Occlusion Culling), right(with Occlusion Culling)

Performance gains will depend on how many objects are hidden and the density and complexity of your experience. It won’t help much for arena scenes, but it will greatly help interiors and cityscapes.

For example, we had Occlusion Culling enabled for testing during The Haunt and saw low-end (P10) Android frame times improve ~33% and median (P50) frame times improve ~28%. Note that The Haunt is an experience with good occlusion opportunities and dense objects. Some experiences have less hidden detail and will benefit less, other experiences may benefit more. Occlusion culling is also very viewpoint dependent. Within the same experience, you might have viewpoints with high occlusion, and others with very little occlusion.

Figure: Screenshot from The Haunt

Limitations

This initial release has some limitations:

  • Avatars and terrain aren’t occluded and cannot occlude
  • Lights, VFX and UI are not occluded
  • Shadows and shadow casters are not occluded
  • Highly detailed meshes or parts that are small on the screen will not be used to occlude other objects.

When using the wireframe view in Studio, you might notice the algorithm drawing things not in the above list that you expected to be occluded. We’ve worked hard to balance our algorithm so that it runs quickly on all devices without inaccurately hiding things. Sometimes it is faster to draw things that are fully occluded than to do extra calculations to confirm they’re hidden.

Please let us know if you encounter any issues and let us know how occlusion culling is working for you. In the meantime, we’re working to remove some of the limitations above and will share more as we improve occlusion culling. And of course, we’ll be working on enabling Occlusion Culling on our remaining platforms.

Performance Optimization

Finally, to learn about improving your experience’s performance, take a look at our experience optimization guide.

We’re excited to get this optimization into your hands, and can’t wait to see what you can create with it!

377 Likes

This topic was automatically opened after 10 minutes.

THIS IS HUGE NEWS! OCCLUSION CULLING IS LIVE, AND IT’S A GAME-CHANGER FOR PERFORMANCE ON ROBLOX, mobile and pc are going to love this one… I can confirm this is byfar revolutionary and roblox just probably released the BEST update of 2024 ROBLOX, aside from the annoucement about occulusion culling, this makes roblox so SO much more accessible to others now!

48 Likes

This is genuinely a new age for Roblox, over a decade in the making.

Does this mean we can expect PVInstance.Visible soon? :smirk:

56 Likes

wake up babe best roblox update just dropped

26 Likes

congratulations to roblox for releasing the most requested feature since over a decade ago!!! huge achievement right here

8 Likes

Cool, now just need to wait for mobile which is the majority of my community.

6 Likes

Very glad this finally shipped to the client! This just about doubled the performance of our game when I tested it in Studio because we have a lot of good occlusion opportunities - excited to see the player response with the huge FPS improvements!

2 Likes

I HAVE GENUINELY WAITED YEARS FOR THIS!!!

Thank you!! I can’t wait to see how this boosts performance!

6 Likes

I don’t normally post this kind of thing, but we are here to celebrate the sheer size of this dub. Absolutely huge improvement.

When terrain and humanoid support? :wink:

12 Likes

@YetAnotherClown wake up babe occlusion culling is now out

2 Likes

This is a major improvement, however, I had found some minor issues when it came to unioned parts (fairly large) and objects not culling behind them; my workaround was just to create a single part that spanned the size of the union to get the engine to recognize. Hopefully, this is something that can be resolved soon.

3 Likes

A great way to wrap up the year

2 Likes

Does occlusion culling work well with a game that uses a top-down camera in Roblox?

do we need to migrate the servers so all servers are restarted and include this feature in the engine?

A current limitation is that CSG parts can be occluded but are not used to occlude other geometry.

13 Likes

Why is everyone so excited? This has been in beta for some time already. This isn’t new news. :sob:

3 Likes

WOOOOOOO THIS IS WHAT WE’VE ALL BEEN WAITING FOR, NOW I’M HYPED!

5 Likes

THANK YOU SO MUCH FOR THIS! I can now make more realistic games without sacrificing FPS on most of the platform. This is a huge W

5 Likes

No, this is entirely client side.

3 Likes