[Studio Beta] Introducing Occlusion Culling

Hi Creators!

We are super excited to release Occlusion Culling in Studio Beta today! Occlusion Culling is an optimization that prevents the rendering of objects that are hidden behind other objects. It doesn’t require any work from you; the engine will automatically detect which objects don’t need to be rendered. :ninja::dotted_line_face:

As announced at RDC24, we are testing Occlusion Culling in production on a few experiences at the moment. We are working to make it available in production for everyone as soon as we are confident in its stability. In the meantime, we want to let you preview Occlusion Culling in Studio to get your feedback and ensure we address any issues you experience with it!

Wireframe view of Roblox’s Modern City (Left) without Occlusion Culling (Center) and with Occlusion Culling (Right)

How to use

Enabling the Occlusion Culling Studio Beta is as easy as enabling the checkbox under Files > Beta Features > Occlusion Culling. That’s it!

If everything works well for your experience, you should see no difference visually. You can confirm that Occlusion Culling is properly working for your experience by enabling the Wireframe View under View > Wireframe Rendering.

The Wireframe View will give you a “see-through” view. When Occlusion Culling is enabled, objects that are hidden behind others will not be visible. By moving your camera around, you will see objects appear as they become unoccluded. You can also compare the impact of Occlusion Culling by turning it on/off in the Beta Feature menu (requires a Studio restart).

image2

Limitations

Occlusion Culling only works on meshes and parts (excluding avatars) for now. It cannot cull the following objects at this time:

  • Avatars
  • Terrain
  • Lights
  • VFX
  • UI

These objects will be rendered as usual, even if they are hidden from the player behind other objects. We intend on extending our Occlusion Culling technology to cover more object types in the future.

Performance

The performance benefits of Occlusion Culling can vary from one place to another and between different viewpoints within the same place as well.

  • Viewpoints with a lot of occluded objects will benefit the most since we can avoid rendering these objects (eg. places with interiors or buildings where objects are often hidden behind walls).
  • Other viewpoints may not see performance benefits because there are not many objects to cull (eg. places with wide open areas such as an arena).

:yellow_heart: Made with love by the Engine team

Please let us know if you experience any issues with Occlusion Culling while testing in Studio Beta. For instance, please report if you notice your experience runs slower on test devices, if some objects don’t appear, or if you see objects “blink” in and out. Providing example RBXL files are the most helpful to help us fix issues quickly.

859 Likes

This topic was automatically opened after 10 minutes.

This might truly be one of, if not the best, features added to Roblox.

210 Likes

FINALLY!!

very good work engine team! I cant wait to experiment with the performance increases from this early implementation

80 Likes

Very nice to see this in ROBLOX!

33 Likes

When will this feature arrive for viewport frames/if it’s ever planned?

33 Likes

ROBLOX THIS IS A MOMENT IN HISTORY, THE REVOLUTIONARY CHANGE OF ROBLOX!, this is THE BEST UPDATE This year, I"M SO EXCITED TO SEE WHAT ROBLOX GAMES HAS TO OFFER AND on top of all, IM EXTREMELY EXCITED FOR THE FPS IMPROVEMENTS IN OUR FUTURE GAMES! THANK YOU ROBLOX, I MEAN IT… THANK YOU!

59 Likes

THIS IS HUGE!! Can’t wait to see how much this will improve performance!

22 Likes

Repro with special mesh blinking in and out

specialmeshocclusionrepro.rbxl (55.4 KB)

16 Likes

One of the greatest moments in Roblox’s history. When will we see this fully in production?

12 Likes

Amazing! Any idea when this will start rolling out to live servers?

9 Likes

Nice I use unions for all my builds, so this is going to help out a lot! Thanks.

I’d would also like to see an update to Robloxs lighting engine.

10 Likes

This is an amazing update! As someone who works with high-density environments often, (convention centers, underground facilities) this is going to save both my own and my players’ sanity while exploring even more detailed environments. I am also excited for the prospect of high-density environments become more accessible to mid and low-end devices as well! Overall amazing update.

You mention releasing in production as soon as you can be sure of its stability, how long do you estimate that will take? Before 2025?

13 Likes

I think this speaks for itself.



71 Likes

Amazing update, much much needed! Thank you :orange_heart:

11 Likes

Places like mine where we have a LOT of cramped up fully opaque parts that is very strenous to optimise it more than it already has been, ESPECIALLY with Future Lighting. Will benefit greatly from this. My games (in studio) have seen a 3x performance increase from this update, and I am excited to see how this transfers for mobile.

I wish this was live in my games already lol

13 Likes

what does this mean, profling our experience? if its not enabled on the client then how could it affect profiling with it enabled or disabled?

7 Likes

ive need this for so long, props to the engineering team :yellow_heart:

6 Likes

Please add support for terrain.
It’s a big performance hurdle. I think this could help massively.

32 Likes

Fire feature. When is the release?

9 Likes