When the Humanoid state is Physics, all character parts are locked to CanCollide=true. The only work around is setting the CollisionId on these parts to something different (and hoping that ID isn’t being used by something else). There’s no reason for Physics-only Humanoids to be locked like this.
If you’re wondering what I need this for, custom character movement.
Or always…? There’s no reason ROBLOX should be resetting CanCollide every frame ever.
Does PhysicsService have the potential to solve your problem?
Yes it does but making a collision group for the sole purpose of disabling collisions with all other groups wastes collision groups (there’s a max of 32 right now), and can complicate your existing PhysicsService code if you’re already using a lot of collision groups.
I think unfortunately that’ll have to be your solution for now.