We’re excited to announce a major improvement to our In-Experience CSG (Constructive Solid Geometry) capabilities. This update brings significant improvements in performance for CSG operations for the recently introducedGeometryService APIs and work in tandem with the recent performance & robustness improvements as well.
What’s New?
When using operations like UnionAsync, IntersectAsync or SubtractAsync, the system automatically calculates new collision geometry under the hood. With the new update, we now optimize this step, providing a significant speed boost. Expect faster CSG API calls, leading to quicker in game operations and more responsive development workflow.
Enabling the improvements
There are two steps to ensure you get the improvements:
Make sure you are using the Default collision fidelity for your non-primitive parts.
Note: If you are specifying the CollisionFidelity option in each of your CSG operation calls as well, you will need to set those to Default collision fidelity too.
We can’t wait for you to try out this update. As always, your feedback / bug reports are crucial to helping us improve and build better tools for the entire Roblox community.
Really looking forward to these optimizations, do you guys have an ETA for client side CSG though? heard a few months ago that it was in internal testing by staff, would really like to have it asap!
Good stuff. Not sure why the example without improvements starts at 241 while the example with improvements starts at 0. Can we get some before and after numbers from a 1:1 test case specifically?
It is also possible for you guys to tell us what exactly was changed that lead to higher performance? The previous post was way more detailed and i think it would be a shame to downplay the changes done for today just because they may not be on as grander as the things showcased in the previous post.
Performance is always great, but I’m not sure why the examples of with and without the improvement are starting at different points.
Wouldn’t it make more sense to show the comparison of the same thing from start to finish? not the without starting at 250 count and the with starting at 0.
How does using realtime CSG impact memory performance long term in live games? This uncertainty is the only thing holding me back from using this tech at this point. This is wicked fast for my purposes. For example, letting players use CSG in a building tool to make holes in walls and carve shapes to copy and paste around.