Just an update on this feature: We did decide to go with a three-phase rollout for this.
Some time next month the Beta will be disabled and the functionality will be available in Studio and on production by enabling a three-phase rollout flag called “UnionsScaleNonuniformly” under your Workspace.
There will be a fresh announcement post with the planned schedule when the three-phase rollout becomes available.
You can correct this by unioning a disjoint negative part to the union to adjust the bounding box orientation without changing the geometry. Note: What order you select the parts in before unioning determines which one’s orientation is used for the union.
Textures should tile correctly even on very nonuniformly scaled CSGs, no more stretching.
CSGs can now be scaled down to 0.001 studs on any axis. Removing the limitation to 0.05 studs was missed when doing the minimum part size changes because of the slightly different pipeline that CSGs use. This will introduce additional backwards compatibility concerns, where some CSGs that were scaled down as thin as possible may now appear thinner than intended.
Is this for newly created Unions or ones you created before I shipped the fix? The UV metadata is generated at the time you created the Union, so you’ll have to separate and reform any unions you created while it was broken to get the correct UV metadata which avoids stretching.
This caught me by surprise. Wouldn’t doing this have a sizeable impact on performance?
I’d be very happy with this update releasing as-is. Not only did it not impact any of our CSG-heavy games, we went in and immediately started preparing updates that rely on what you can now produce with this feature. I’m on the edge of my seat for this one to ship.
Okay, I should have been more specific: You should use precise decomposition on the majority of CSG parts that need detailed collisions. The majority of your parts are ideally going to be set to Hull or Box fidelity to get as much perf as you can.
My main point is really that you should almost always be switching your stuff away from Default fidelity because using Precise is often strictly better than using Default for low to medium complexity CSGs (in giving you fewer or similar number of convex hulls but a more precise overall result). The big reason Precise isn’t the default is that in cases with extremely complex CSGs Precise can have catastrophically bad perf vs Default never does (it has average perf all the time).
Glad you like it. FYI: It’s likely coming out of beta on Monday, there’s just been some unfortunate delays getting it out of beta. I’m switching it from a beta to a three-phase rollout which is something we haven’t done with another feature before so I had some extra work to do getting the mechanics of that right.
The feature is no longer in beta, you should enable the UnionsScaleNonuniformly flag under workspace to continue using the behavior (and the behavior is now available on production!)