We are going to be changing the way that Humanoid parts have their collisions values (CanCollide) set by the Humanoid that controls them.
Currently, the values of the CanCollide are set each frame based on the state of the Humanoid. For example, when the Humanoid is in a normal stating state ( Running ), the arms and legs are set to be
CanCollide = false each frame.
In the future, they will still be set that way, but only when the Humanoid first enters a new state. This will improve Humanoid performance and allow developers more control over the collision state of the Humanoid, should they wish to modify it after the Humanoid has changed state. This change is not live yet, but will be in the near future.
Since this may break scripts that depend on the existing collision behavior, we will introduce a new property to Workspace called
Workspace.HumanoidOnlySetCollisionsOnStateChange , as a way to opt-in to this new behavior.
Again, this is NOT live yet, but here’s what it will look like once it is enabled:
At release, the “Default” setting will have the same behavior as “Disabled”. At a later date, we will change this behavior so that it matches “Enabled”. This will allow games to opt-out if necessary to fix broken code (if they did not opt-in and fix that code previously).
We will update this thread once the migration occurs and this setting is available.