Solid modeling (more commonly referred to as Unions, or a UnionOperation) is a feature in Roblox Studio that combines or negates two or more Parts to form an object called a Union. Solid modeling has been around since 2014, arising from a Hack Week project. In 2017, Roblox released CSGv2, designed to address the limitations of the original system, while possessing some of its own.
Solid modeling limitations
Solid modeling supports block, sphere, wedge, and cylinder part types only. Unions also support only one color and material per union.
Rescaling a Union will scale it evenly, changing size in all directions.
Collisions are also not one to one with how the union appears. Roblox simplifies mesh and union collision models to save on storage - this can result in considerably incorrect physics interactions.
In some cases, it may be better to use regular parts instead of a Union. Using fewer Unions can increase load times.
Differences between CSGv1 and CSGv2
Both systems have differences that can lead to some cases where one would be more desirable to use than the other.
- CSGv1 makes edges on geometry appear smooth.
- When working as expected, it negates and unions parts accurately.
- CSGv1 has a maximum of 2,500 triangles, which can be very limiting in some cases.
- Union generation is more prone to error than CSGv2.
- CSGv2 is less prone to error than CSGv1.
- The maximum triangle count is 5,000.
- Unions generated with CSGv2 are prone to corruption, and not being able to load.
- The lack of smooth shading support makes edges on geometry stand out more and appear sharp.
Unions are multiple parts, unions, or a combination of the two, fused into a new object that is capable of interacting with other objects.
How to union
Creating a union is simple. Select the parts you'd like to combine and then click the Union button under the MODEL tab to create a Union.
NegateNegativeParts are parts that can subtract from a Union or a Part to create a new Union. The same limitations apply to negation as does when creating a union.
How to negate
Negation requires one or more NegativeParts and one or more Unions or Parts. These also need to be intersecting with each other. When your NegativePart(s) and your regular Unions or Parts are now connecting, select them and click the Union button under the MODEL tab to subtract.
SeparateUnions can be separated to correct errors or to make adjustments to geometry. Select a union you'd like to separate, then click the Separate button under the MODEL tab.
- 3D Modeling with Parts on the Roblox Developer Hub
New CSG system in Studio: try it out, tell us what you think on the Roblox Developer Forums