As a Roblox developer, it is currently too hard to work with some cases of collisions where I only need a few specific parts to collide with each other. I’d like to request a “CollisionConstraint”. It is quite literally just the opposite of the NoCollisionConstraint.
Why would this be needed?
Let’s say you wanted to turn collision on between some specific parts, for a set amount of time. What you could do is use CollisionGroups. But say, you only want to enable collision between some specific parts, that would still need to collide with some other parts.
You could make 2 collision groups for each player, but the limit of collision groups is just a measly 32, so if you wanted to have a server of 100 players, you’d need 200 collision groups, which of course, not possible.
So to solve that issue, you could use the regular NoCollisionConstraints, and just put them in every single part that needs it, and remove the ones you don’t need for a specific amount of time.
The problem with this, is that you need more, and more, and more with each new part.
Say you had 2 parts. You only need 1 NoCollisionConstraint.
You have 4 parts. You now need 6 NoCollisionConstraints.
You have 8 parts, you need 28 NoCollisionConstraints…
And the number just keeps growing.
However, if we had CollisionConstraints, then I could just make 1 CollisionGroup that disables collision with itself, and then put CollisionConstraints only in the parts that need to collide, rather than putting them in every single one, and deleting them when needed.
But why can’t I just make another CollisionGroup which collides with the others? Because in that case, if another player had a part that should not collide with that players parts, then the two parts in the collidable group wouldnt be able to collide, when two players parts should never be able to collide.
A perfect example of this would be agar.io’s splitting system, where two players cells never collide (and can eat each other), but for some time after splitting, the player collides with itself, but other players still cant collide with the player and can therefore eat the player.
Hopefully it wasn’t too confusing, tried my best. (I’m not english, and this is my first feature request post)
If Roblox is able to address this issue, it would improve my development experience because I could manage complex collisions more efficiently and easily.
If I had a 100 player server, and all players had 8 parts, then I would need anywhere from 10000-160000 NoCollisionConstraints… That is absolutely insane