Character Ground Controller Fails After SensedPart Reparenting

GroundControllers/ControllerManager does not keep my character upright and walking after its SensedPart gets deleted or reparented. A few other people on mobile and PC have told me this bug happens to them in my actual game too so it’s not just my machine.

Below is a simple reproduction file with 1 LocalScript and 2 server Scripts. The FloorToggler script automatically reparents the floor part in a loop to demonstrate the bug, but you can disable that script and destroy or reparent the floor to see the bug still happen. The CharacterPhysicsServer script just sets up the character physics instances and the CharacterPhysicsController handles very basic state switching based on Roblox’s example code. In the comments of CharacterPhysicsController you will find my solution to restore walking to characters when their SensedPart gets destroyed/reparented causing the character to be disabled as long as that part is missing.
CharacterControllerFailure.rbxl (52.2 KB)

Here is a video of the bug:

Expected behavior

I expect my avatar to keep walking after it lands on the floor as a Humanoid would.

2 Likes

Thanks for the report and detailed repro; we’ve isolated the bug. We’ll work on a fix after the weekend.

1 Like

Hi, we’ve released a fix. Could you verify if it’s working for you? Thanks!

1 Like

Yes, it looks like your fix is working in my repro file and in my actual game. Thanks for the quick fix.