The reason why you’re getting mixed answers is because it heavily depends on what you’re doing and how you’re doing it. Some background information on how unions work might be appropriate:
When you create a UnionOperation, Roblox has to do calculations on what the new object should look like geometry wise. The objects you have selected are combined into a new object and Roblox will try to make the UnionOperation as accurate as possible while only generating as few tris/triangles as possible, because the more tris it has, the more data has to be stored and the more rendering calculations are required. Additionally, in order to decompose your UnionOperation, Roblox needs to keep track of which parts a UnionOperation exist out of, so the more parts you merge together, the more memory a UnionOperation takes up. Finally, each UnionOperation has its own unique shape, so Roblox needs to generate collision boxes for each UnionOperation. These shapes can be really expensive, which is why there is the CollisionFidelity option: Default tries to be as accurate as possible, but takes up the most data. Box is literally a box and is therefore really cheap. Hull is like wrapping your UnionOperation in paper and is in between the previous two options in terms of accuracy and performance.
The three things I mentioned: geometry data, child data and collision data all play a role in this lag people talk about:
- The geometry data affects rendering power, so it could impact your framerate if you have a lot of expensive UnionOperation objects being drawn in your view.
- The child data clogs up a lot of resources and I think this child data also replicates to clients, so if you have a lot of expensive UnionOperations in terms of memory, you might start to see weak hardware (phones) crash more often.
- Collision data also clogs up memory, but collision calculations aren’t done until parts start to move around the UnionOperation objects. In this case the server will have to do collision calculations which might take up a long time depending on the complexity and number of UnionOperations. This does not affect framerate but it could make the server less responsive. If your client has physics ownership of those objects however, then your hardware is told to do those calculations. In this case your hardware will be busy doing all these calculations, leaving less time to draw frames which causes frame drops.
Tl;dr
In short, it depends. It’s hard to say how expensive your unions are, but as a rule of thumb try to use as few instances as possible to create your unions. Also check their triangle count every now and then and see if it’s possible to reduce that number by slightly adjusting the shapes. It is also good to reuse your UnionsOperations often because the shape and collision data and such are only downloaded once per unique UnionOperation.