Studio Beta: CSG Has a New Engine - Vroom, Vroom, Vroom!

Sadly not, as 1 union can use multiple colours, same issue is stated here

doing each part seperately is an option, however, this can really slow down my workflow aswell as having a higher risk on BrickShift


Hi onboquo,
We can change/apply one material and one BrickColor to a Union (to see the brick color, you need to check the “UsePartColor” box). At Union level, we don’t have the access to the materials/colors of its component blocks. Separating the union is a simpler way to allow you to pick the component block(s) of your interests and apply/change the color(s), otherwise, the colors in the CSG tree of the union has to be exposed.


Hey, i’ve been having an issue that I am wondering if it will be fixed?

Unioning specialmeshes with cylinders as a way of rounding was never an issue with CSG V2 as shown here, on this dome.

This was all made with specialmeshes and cylinders.

Using CSG V3, I will try and union this, a specialmesh set to sphere on a cylinder.

…And it turns into this.

Why is there a gap?


Hello estonice2, the gap should disappear if you use the default sphere and cylinder, or sphere/cylinder both in special mesh. If this doesn’t solve your problem, please DM the model and I will take a look at it.


The methods provided do work, thanks!

As a side question though, will the method of combining a cylinder and a part with a specialmesh set to sphere be supported in the future?


Using SubtractAsync() within a script causes the union’s lighting to break. For instance, my game uses it to cut portions of the ceiling out, which is shown below.

Also, below is an example place that reproduces the problem I have with unions.
union_file.rbxl (42.2 KB)


This inverted face issue broke my world builder and thus the 2D game builder I was working on.

function GameManager.validateUnion(negParts, originPart)
	local opResult = nil
	-- noticed around 2 Sep 2022 that Textures and Decals sometimes 'invert faces' and show scewed images
	-- after being parented to an opResult: impacts OffsetStudsU formula and texturing throughout :-( 
	opResult = originPart:SubtractAsync(
	if opResult then
		opResult.Name = "_"..originPart.Name
	return opResult

@Blast4300 Thanks for providing an example place. We have a fix that’s waiting to be deployed for this issue but i’ll make sure to test this place too


Update, even the methods you provided didn’t work.
I’ve noticed that they break a lot of times but sometimes they’ll work fine.

Here are some parts that i’ve put together to demonstrate:
PROBLEMATIC.rbxm (50.0 KB)


Thanks for the demonstration model. We’ve reproduced and filed a ticket in our internal database.


Hi, has been there any recent updates regarding about the faulty smoothing angle on CSG V3? Smoothing angle doesn’t seem to work well on very complex primitives compared to CSG V3.


FYI: the seam is due to the csg3 ball not being perfectly symmetric - there is a work around described here : CSG v3 breaks older unions made with v2 with specialmesh spheres - #5 by mrrblato
We are also working on a complete fix (which would make the csg3 ball symmetric around all three axes).


Thank you! I’m excited to see this fixed because it’s put a halt to my usual modeling work, lol
any idea on when it’ll happen?


Can you PLEASE implement a toggle for the weird “painting” properties of negates? It makes jobs like creating cutouts very tedious.


CSG V3 is a piece of trash. It is buggy and problematic to users. It clearly was pushed out before proper testing was done on models with more than double digit tris.
Negative parts randomly make faces reflective, neon, darker, brighter, or straight up broken. This can be sometimes fixed by applying smoothing angle (1 is best if you don’t want the visible effects of smoothing angle), however it can still leave parts affected by what looks like z-fighting that was rendering in the unioning process.
Negative parts also should straight up not affect the colour of parts at all.
PLEASE allow users to use CSG V2, and start working on a fix for CSG V3.

THIS is frankly dissapointing, and I am extremely dissatisfied as a developer on this platform that such a change would be pushed out as a full release. It clearly is still a beta feature, and should go back to being that way.

The very least we ask is to have a studio setting to use CSG V2 (unmodified from how it used to be) so we can properly model without this jargon.
While CSG V3 is more performant, and is less likely to throw out errors or crash studio, these bugs make those improvements worthless to developers. Not everyone is comfortable to learn an entirely new software (blender) just to model, when they’ve gotten used to modelling on Roblox and used to working with all of its quirks for many years

@JoshSedai please urge studio developers to fix this, the very minimum that should be done is to implement a setting that allows users to go back to CSG V2. I have been seeing many good updates to studio that make developing so much easier over the past few years, but this change was really unexpected and extremely dissapointing.

EDIT: This bug has been fixed for awhile now. If you have any unions that were created during the bug period, you can fix it by simply separating and reunioning the last step of the union to fully regenerate it, you won’t need to completely separate it, a single calculation should fix the entire union.
The bug affected the physical shape, colours and reflectance of the union faces in a way similar to zfighting, like random noise.


This has effected me too as it messed a spider-man mask I was trying to make with unions. There is a weird shade at the top and a bright area at the bottom so am hoping they give us the option to change to V2

edit: this error has been patched so I can work on this better


Yeah, and what’s weird is that this bug has been happening for days now and I haven’t seen it officially recognized by staff. V3 in my opinion would be much better if it was more versatile like V2. V2 might’ve not been as efficient however it still was more flexible with using things like specialmeshes and cylinders, and mashing them together properly.

V3 on the other hand fails to do that for some reason, and it turns out the ball model used by roblox is not symmetrical. And about the negative parts applying colors, I actually think this was an intended feature but it does sort of get annoying when making certain unions.

I am surprised though that there is no option to use V2 anymore, I would of thought to atleast keep V2 around until everything with V3 is patched and works atleast with the same, hopefully better, quality that V2 had, while improving in performance overall


To fix cylinders and balls not being symetrical, convert the part into a union, it also smoothens out the angles slightly :>

Absolutely a backwards step for a next generation CSG engine to not include the same features the previous one had.


Any update on the fix? It’s been more than a month since you replied to me and it still hasn’t been fixed.


Hi @BritishTrainspotting and @AnimeKed

Thank you for sharing your concern with us. Would you please share the model file with us, so we can look into that?
Sorry for the inconvenience.