Collision Group interaction with Tools

I made Fan (it’s a tool) that player can equip and use to push other players. It has a collider with canCollide = false, canTouch = true, and with Touched:Connect it detects if any player is touching collider.

It worked fine until I decided to use CollisionGroups and set TouchEventsUseCollisionGroups = true:

  1. I created two groups: Player and Fan. Fan can collide ONLY with Player group.
  2. I added player to the Player collision group and Fan collider to the Fan group. (Checked it in runtime)
  3. If Fan collision = false, for some reason Touched:Connect doesn’t work anymore. I set it to true for the sake of experiment. It didn’t help with activating event. But I noticed something strange:
    When I start the game to test Fan, its collider collides with the floor part (which is in Default group). I tested that it outside of a tool: Fan collider falls through the ground.

So, I have 2 questions:

  1. Why Touched:Connect didn’t work?
  2. Why does collision happen when collider is inside the tool?

I’m completely confused by this interaction and don’t know how to fix it. I also didn’t find explanation in the official documentation for Collisions, Touch and TouchEventsUseCollisionGroups.

Would appreciate any help.

Parts in separate collision groups that can’t collide with each other cannot trigger touched events in the other group.

Yes. But Fan and Players are in collision groups that can collide. That’s the problem. And the fact that Fan collider collides with the floor despite them being in non-colliding groups.

oh you might have the collision group glitch. delete all of them and recreate them.

Tried to recreate them. Didn’t fix the issue.
Eventually, I gave up and ended up cloning collider into the workspace and welding it to the tool when it’s activated. Works perfectly fine.
I believe there is either a non-obvious interaction of collision groups with tools, or it’s just a bug.

Thanks for answering anyway!