For instance, if i make a union using some parts and do it the same exact way in a 3D Modeling software, is one better than the other (in terms of polygon count) or are they the same?
(I’ve tried to look for a topic similar to this but i couldn’t find it)
What I mean is, you can touch unions given that CanCollide is set to true. Meshes can not be touched, you can only touch their base part given that the base part is collidable.
This is true only to Mesh objects. MeshParts (which I believe is what OP is referring to) are pretty much identical to CSG parts, including their collisions settings.
While unions do have a collision box and meshes (sometimes) do not, thats not the only difference. Unions are multiple parts that have sort of been combined to make one, however unions have lots of triangles, more than just making a mesh. So unions are laggier than meshes but are sometimes better depending on the situation. If they are the same shape then meshes are better to use than unions.
I understand the criterion you are trying to make, but it just doesnt work like that in the real world and the accuracy of CSG is going to be on a case by case basis. If you had two identical unions and meshparts their performance would be almost identical.
Its a little like asking which would hit the ground first, an anvil or a feather. Technically, they should hit the ground at the same time, but they dont due to a difference in air resistance.
That said, MeshParts will almost always will be better than unions if they are made in an optimal fashion. CSG is an automated process prone to error (which is expected).
Your performance benefits dont come from the difference in instancing type, rather that you lack the unnecessary faces from CSG errors. Hence the importance on making an optimized MeshPart.
I made a post a couple months ago outlining this with some benchmarks. I’d recommend checking it out.
I’d suggest improving the OP and the title to specify that you mean Mesh objects and not MeshParts. Otherwise people will think you’re talking about MeshParts, and are just calling it meshes for short.
I would say using meshes is better than unions as I have been hearing about lots of issues involving unions recently. Their is a few limitations with using unions as well, for example if you want to resize one side of the union it will scale the whole union down. I have also read somewhere that the polygon count increases if you use unions(Not sure if this is totally true).
If you use meshes on the other hand you can resize each side of it without the whole mesh scaling down. Also you can make really nice low poly meshes in something like blender in a lot quicker time than if you make them out of unions. For example you can make a really nice low poly tree in like 30 minutes when using something like blender.