Solid modeling

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 supports block, sphere, wedge, and cylinder part types only. Unions also support only one color and material per union. r escaling a Union will scale it evenly, changing size in all directions . <p style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;">

<p style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;"><span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">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.

<p style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;">

<p style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;"><span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">In some cases, it may be better to use regular parts instead of a Union. Using fewer Unions can increase load times.

<span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">Differences between CSGv1 and CSGv2
<p style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;"><span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">Both systems have differences that can lead to some cases where one would be more desirable to use than the other.

<p style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;">

<span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">CSGv1

 * <span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">CSGv1 makes edges on geometry appear smooth.
 * <span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">When working as expected, it negates and unions parts accurately.

<span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true"> Drawbacks <span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">


 * <span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">CSGv1 has a maximum of 2,500 triangles, which can be  <span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">very <span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true"> limiting in some cases.
 * <span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">Union generation is more prone to error than CSGv2.

<span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">CSGv2

 * <span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">CSGv2 is less prone to error than CSGv1.
 * <span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">The maximum triangle count is 5,000.

<span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true"> Drawbacks


 * <span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">Unions generated with CSGv2 are prone to corruption, and not being able to load.
 * <span style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;" data-preserver-spaces="true">The lack of smooth shading support makes edges on geometry stand out more and appear sharp.

Union


<p style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;"><span data-preserver-spaces="true" style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;">Unions <span data-preserver-spaces="true" style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;"> are multiple parts, unions, or a combination of the two, fused into a new object that is capable of interacting with other objects.

<p style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;">

<h3 style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;">How to union <p style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;"><span data-preserver-spaces="true" style="color: rgb(28, 30, 41); background: transparent; margin-top:0pt; margin-bottom:0pt;;">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.

Negate
NegativeParts 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.

Separate
Unions 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.