I am a Roblox CSG builder that has never had any experience in Blender nor ever had experience with using meshes. I am creating a big roleplay game basically attempting to create an open-world environment in Roblox, the game will hold similarities to build styles such as New Haven County.
The Question
Should I use parts for my builds or should I union them, what option is better for performance?
I will be having a lot of parts in my game and I am simply wondering if unioning them will make any difference. I’m looking for a direct and honest answer without any unnecessary additions.
All basic parts in Roblox have minimal physical properties that needed to be stimulated, while Unions comes in infinite amount of shapes, when you create a Union, Roblox would need to make physical calculations accurate for your game, which can drastically decrease performance.
You can do parts when they have different materials or properties for example. Unions for things such as tools, or to make mixed surfaces smooth. And here you can also add “meshes”, because you can even transform a group of parts or unions into meshes to do better. One good example, are maps, making them a union COULD work, but transforming it into a mesh (I repeat, transforming it into a mesh, not making meshes) would work better.
If you’re creating a one of a kind shape that’ll never be used again but can be much more performant in terms of tris count, use a UnionOperation.
UnionOperations should only be used in very rare cases like stated as they can reduce tris count. Though however sometimes they won’t cut out any triangle count at all. Use WireFrame mode in Studio to see if it’s actually removing triangles.
Also odds are, you’re only removing a small amount of triangles with a UnionOperation, sometimes it can glitch and even create more.
If you can replicate the UnionOperation in Blender with less triangles, I suggest doing so, as the only drawback from switching to Unions to MeshParts is there will be a very very tiny addition to your loading speeds.
If what I said makes no sense, I apologize, just use MeshParts or use Parts.
In terms of performance, Unions are awful and parts are better, but sometimes you want unions for fancy details. Convert your unions to .obj and learn how to take the 30 seconds it takes to use Blenders built in tools for fixing unions.
To surmise, are you going to re-use your unions a fair bit? - may be better than just having those models be parts (eg, if you have a chair unioned and re-use that chair as opposed to having the chair remain parts.)
are you going to union for the sake of reducing parts, but you aren’t going to re-use said unions? - bad idea, creates unnecessary triangles and collision issues.
are you using unions because you have no other options? - change colissionfidelity to box if the player will not interact with it.
meshes/unions are instanced about the same, but unions are more costlier in terms of tri-count which is why (generally) you should not have many unique unions if it’s not necessary. You cannot really control tri-count in Roblox. If you have one union, copy/paste that and re-use it, it’s good for performance rather than having several unique unions.
unioning several transparent parts that are close together is not a bad idea either.
spheres by nature have a high tri-count. When you union them together, they’d obviously be much higher tris as Roblox does it all in real-time.
this is a pretty unfair comparison on most levels, realistically, you won’t have that many spheres in your union to begin with. To union that many together will obviously be problematic.
also not sure what’s the point exporting to blender, you can check tri-count in properties tab.
A lot of people are saying parts here, but I think it’s important to note that unions are good for saving performance on repeating patterns. If you have to make 100 windows, it’s better to make 1 window first, union it down to it’s basic components as much as possible, then copy that window.
The way you SHOULDN’T use unions is unioning things together randomly, that’s just creating unnecessary extra data that has to replicate, and you definitely shouldn’t just union all 100 windows together in one massive union.
To put things short, only use unions if you are absolutely sure you know what you’re doing. Another thing to note is collision hulls, you should always use the lowest precision (from lowest to highest, box → hull → default → pcd) based on your situation. Only use PCD when absolutely necessary, like putting a big hole in the floor that you have to jump through.
That being said if you know Blender you’ve already won the game and don’t need to worry about any of this.
I don’t think that property works. I just checked a cylindrical union I made with a cutout center, so, like a pipe. Studio’s triangle count property says , 0 triangles, should probably be over 100 easy, maybe more.
Old topic sorta but I just want to clear up some things.
Odds are this isn’t the case. Unioning with Roblox is nowhere near advanced as Blender and sometimes it creates unnecessary triangles. Copying and pasting 100 of these models with a handful of unnecessary triangles (than could get removed using Blender) will create performance problems on low end devices and maybe even higher end devices depending on how many triangles were created.
I know you mentioned Blender, but I would suggest learning Blender (you’ll have to at some point) rather than just testing your luck with Roblox’s unioning system. It’ll pay off by saving performance and teaching you skills with Blender.