Inconsistent humanoid collision behaviour

I’m trying to make a ragdoll script, so the bodyparts of the character need to be collidable.
Humanoids have this strange feature where their bodyparts are set to CanCollide true every frame, the collision is decided by the current Humanoid state. But sometimes the collsion is just random, for no good reason. Even if I disable every state except one, and make sure that the humanoid stays on one specific state, it will still sometimes have unexpected collision behaviour.

I tried manually setting CanCollide to true every frame, which does not work, regardless of which RunService event I use.

I’m not going to stop using humanoids, because I would have to remake pretty much my entire game to do that, so this is quite the headache.
This isn’t super serious, but I hate it when the ragdolls just merge with the floor without any explanation.

If you have any ideas, please share them.

I ran into this same issue, I believe its an engine feature and I can’t find a way to disable it either.

I just found a sort of hacky solution, which involves changing the name of every body part except the head, uppertorso and lowertorso by adding a # to the start of the bodypart’s original name. This allows the cancollide to be changed.
To change the name back to normal I use this:

BodyPart.Name = string.match(BodyPart.Name, "%P+")