How to fix CollisionGroups not working on some accounts?

I’m making a tower defense game and spent a month trying to make the CollisionGroups thing work consistently.
Why do I say consistently? Well, apparently some users (yes, you read it right; users, not clients or devices) ignore the CollisionGroups and are able to collide with things they aren’t supposed to.

What I’m trying to do is make it so Player, Attacker and Tower don’t collide with each other, this is how I set it up.

I assign the BaseParts to a CollisionGroup using a for loop that checks every BasePart inside the model, I don’t think I need to paste it in here because it isn’t creating any issues.

The Attacker and Tower CollisionGroups always work, they don’t collide with each other. Player (the CollisionGroup assigned to the player) can sometimes (depeding on the account for some reason) collide with Attacker and Tower.

If someone has a solution for this problem or an alternative to the CollisionGroups, please provide.

After testing with avatars, I found out why this happened.
Players with body parts that aren’t the default ones (blocky rig) were able to ignore the Player CollisionGroup and just bump into things they weren’t supposed to.
This also happens when a R15 character (that isn’t using the blocky rig) collides into a R6 character and viceversa.

The solution is to make it so every player that joins the game will use the blocky rig, make a custom default character for every player using the blocky rig or just make the character use R6 or R15, depending on the stuff in your game.