Introducing SmoothingAngle property for PartOperation (Enabled Globally)

CSG v1 allows for corners/edges where you union to be smoothed out, while CSG v2 chooses to keep them sharp. Both cases have their use. So we decided to release a new beta Studio feature to allow you to control it with a new property of PartOperation.

To use this feature, you must go to FileBeta Features in Studio and enable this:

PartOperation(s) now will have a “SmoothAngle” property (see the screenshot below) that allows you to specify an angle in degrees. Changing the angle will instantly affect the smooth shading of selected CSG part(s). You can quickly try a few angle values to find the best one.

The angle specifies a threshold value between face normals. If the normal difference is less than the value, normals will be adjusted to smooth the difference. Usually a value between 30 and 70 degrees will produce a good result. Values between 90 and 180 degrees are allowed but not encouraged. We are evaluating if angles >= 90 degrees should be allowed. 0 degree leads to sharp edges.

Example 1:
The left train with ridges is the result of 0 degree angle. On the right is the same train in 40 degrees.

Example 2:
The faceted cylinder is the result of four CSGv2 subtract boolean operations. By changing the angle to 50 degrees, all side faces are smoothed, but not between top face, where normals differ 90 degrees.


  • Smoothing will not affect the normals between different materials or different colors.

We hope this feature fully addresses smoothing shading issues for CSG v2. CSGv1 has been deprecated for a while. We want to make sure there aren’t any issues if v1 is disabled.

Please let us know if you encounter any part that takes a while to finish the smoothing operation.

This feature was enabled globally on Monday, June 22nd at 4:07 PM, PST.


This topic was automatically opened after 18 minutes.

Finally, now we can have smooth models rather than roblox-like cubic-like ones.

But honestly, this is a great change and would definitely be extremely useful for developers across the entire platform, looking forward to seeing more changes like this.


I have waited years for this, thanks for finally adding it :heart:

Also love the train in the post, wonder who made it


Wow this is so cool and useful!
Just wondering how would this affect performance in a game and how was this calculated?

One more thing, if you used 180 degrees wouldn’t that cause the union to be a smooth part


Very happy with this update, yet I wish you could do this on mesh parts too.


This is amazing, such a good update for models to be very smooth instead of using more parts to make them smooth, takes up less parts now!


Interesting. I wonder what games are going to utilize the sharpness of the unions. I’m going to experiment more with it.

Also, I can see why cranking up to 180 degrees isn’t encouraged…

These shadows…


This is an outstanding update! Sometimes the models I make are too simple to make changes on them in blender. This update will surely make my game better and it will also speed things up, thanks a lot!


This is a amazing change as I and many others have been extremely frustrated with the state of CSGV1 and CSGV2, but I think a lot more can be done to make CSG a lot better and frankly usable.


So wait, I can smooth the smoothest thing that couldn’t be possible? sweet boi


So happy this update is out. Now I don’t need to go through the frustration of the model being really sharp and also the frustration of the union not working due to the CSG V1 instability. Thanks!!! :smiley:


Epic, smooth move, better models and terrain, good job.


Oh, yes! I can finally do smooth-looking unions without using massive amounts of negative parts.


Now I no longer have to switch CSG 2 off. This will be a great help to every community who uses solid modelling. There’s no longer a reason to need to learn blender or other software. Thank you staff for making this.


O M G. I’ve been waiting for this to happen for ages, hopping that roblox would address this issue and it’s finally here. I have no words to describe this, this will make stuff so much easier! Thank you so much!!!

EDIT: This is a absolute lifesaver

An example of it being used, here the setting is at 50!


A very good update that I can see being very useful in the future and making builders lives much, much easier and also gives them more control over how their models looks. I’m guessing CSG V1 will rarely be used after this feature is completely released when you could just use v2 and achieve the same smooth results.


Let’s goo! Finally smooth CSGv2 unions!


i havent used unions in such a long time but this addition brings them back for me

thank you so much :heart: