Deprecating Legacy CSG System

Hey developers,

The legacy CSG modeling system will soon be completely removed from Roblox Studio. Today we’re announcing the change to let you prepare for this.

Here are links of previous announcements on this topic:

If you are using the legacy system, we will be switching you over to the new system when you launch Roblox Studio after it’s removed. An informational bar (see below) will appear to notify the change. We hope you continue using the newer CSG kernel for your modeling work after this switch is made.

If you do currently rely on the old system, please be sure to report any problems with the new kernel or reasons you prefer the legacy system by replying to this thread and attach a file with a repro case.

If you don’t see the informational bar, this means you’ve already been using the new CSG system.

The geometry generated by the new system generally won’t be exactly the same as that of the old one due to numerical issues. This may result in various geometric anomalies such as micro-gaps. Please report any such findings so we can make improvements to the new kernel. With that said, the new system is much more robust and we think its upsides outweigh any backward compatibility issues.

Additionally, we are aware of the disappearing union issue and we are working on it, but it is a common problem for both CSG systems.

Please report any problems with the new CSG system below.


This topic was automatically opened after 7 minutes.

I haven’t been keeping up with all of the latest CSG changes and I have one question :

Will old unions created before the CSG updates begin to disappear/break? If so, do I just need to seperate/re-union them?


Is csgV2 efficienter than csgV1?

If so, by how much? What is different between the 2?


It was the old CSG system that studio used before they released the version 2 of it.
Studio right now uses the version 2 with the option to use the old version of it by enableding it in the settings. They will remove that setting that lets you to use the old version.


CSGv1 will be missed, always used to use it but I guess I’ll have to move on to this:

Even though I promised myself I won’t use unions anymore, I will give this new beta feature a try.


Version 2 is the one that studio uses right now.
There was setting that let you to use the old version until now.
Basically they will remove that setting soon.


Is there a replacement for CSGv1’s negation behavior? It’d put the negated part’s color on the removed portion of the original part, which allowed for some cool effects. I’d been recommending people switch to CSGv1 if they want the effect, but that doesn’t seem to be an option anymore.


Ditto, this was really helpful for my complex stuff that I didn’t want to have to UV and model in Blender, you were able to make some cool faces and pieces with this feature. Would be really nice to see a better way to customize union colors/materials, etc.


New developers wont know the pain of trying to negate a part off and being spammed with errors and the only way it does up isnt how you want it :heart:

For the better really


Please introduce this feature in the new CSG system:

By using colored negative parts, their color applied onto the surface of the part that was affected, just like this:


Builders including myself have used this feature to simulate lighting and shading on characters. It has been one of the most useful features we’ve used so far.

Here are some of the works some of my friends have done, we’ve all made roleplay games based around a show in a cartoony style:

(made by my friend Somber_Salvatore)

(made by my friend EternalGem)


I have mixed feelings toward this. I appreciate Roblox improving the engine, but I feel like time and time again CSG gets priority over mesh parts. CSG has always felt like a jumbled up mess of broken tools we only use if we have too, it feels so forced.

I really wish Roblox started to improve the mesh import features so I wouldn’t have to rely on CSG tools (which in my opinion can’t compete with an external modeling package). I understand Roblox is trying to create this all in one system, but devoting so many resources towards a feature that is trying to compete with entire dedicated software seems like an uphill battle, and to me, it seems that the developers who are interested in creating Roblox games in a more standard mesh focused way are left in the dust.


Will this effect models in-game that were made using CSG V1?

Just double checking as I have a game that relies on it completely.


The “Learn More” button redirects to a private topic:

I think it’s because it has /draft- in the URL, it’s a draft, not a post.


This, by far, will be one of the hardest updates for me to swallow.

CSG v1 has always been my go to version for modelling smooth objects (such as airplanes), as it didn’t have the sharp affect CSG v2 has. Even with the CSG v2 smoothing angle, I couldn’t get any of my unions to be as smooth, while retaining the shape I want.

I also loved having the ability to have the face of the part that was unioned to be the color of the negated part. This made it simple to add some colors, without having to add more parts/unions and hope that they didn’t corrupt.

In my experience, CSG v2 would always corrupt when I tried to model a plane. This would make me save hundreds of unions in the file, so in case one corrupted, I could try to recover it. CSG v2 never gave me a too complex/too large warning to tell me to stop, unlike CSG v1.

This is also concerning for when I would do “paint jobs” on planes, and I would union with CSG v1 to keep the plane smooth and not with any new creases. CSG v2 would always add new creases to the plane, and make it look horrible, like a crumpled up paper airplane.

Is there any way we can keep CSG v1, and use it? Possibly make a plugin that allows you to still use CSG v1? As I would not like to see this change occur. If there isn’t, I guess this update means I’ll have to learn Blender, and import all my meshes into Roblox now, since CSG v1 is getting removed.


Yep, It’s going to be hard to make CSG aircraft now… Probably just going to switch to mesh but I’d love if Roblox could work on something to fix it…


Would hope not, considering CSGv1 objects are already hosted via the Roblox website on a technical level - I see no harm in keeping these up, and turning off the creation of new ones.


What I struggle to understand is why Roblox is still investing in CSG. The tools are lacklustre and cannot be compared to better solutions like Blender. At any moment your unions could just magically disappear without a trace (the fact that someone had to write this post proves why I will never touch CSG).

The time you spend trying to cobble primitives together with CSG (which half the time errors when you try to use it) on a project could have you become proficient enough in Blender that you are already pumping out far better quality models than any user of CSG can ever dream of. Using Blender gives you security in that your models won’t magically vanish, gives you far more control, and your skills in it can be applied outside Roblox and used in the future.

Instead of Roblox trying to reinvent the wheel (like usual) and compete with leading tools, why not create better integration for those tools? Maybe provide better documentation and tutorials on how you use them so that even new developers can easily grasp it.


Oh my god… I am going to actually have to change negate colors now. This is a bruh moment.


I need a way to keep the colours aswell, its a must need for my rocket engines and i have no idea how to create them with a different method.