Disabling a Motor6D attached to character during an animation causes wonky rootpart offset movement

Here are the steps I am doing:
Step 1.) Copy a model(or part), attach the root part of the model to some body part on the character using either a weld or a motor6D where the Part0 is the body part and part1 is the root of the model. (I have tried switching the part1 and part0,it made no difference)
Step 2.) Parent the model to the character (i’ve tried parenting to workspace as well it made no difference)
Step 3.) Play an animation on the server side that is loaded into the character.
Step 4.) Disable the Motor6D/Weld or destroy it while the animation is still playing.
Step 5.) The character’s movement is messed up.

Here is a gif of the movement being messed up. This happens 100% of the time I play the animation.
It is almost as if the center movement point of the humanoid is offset in front of it by a few studs.
It is extremely noticeable when shift locking and then jumping backwards. It jerks the character to one side forcefully.
Messed Up Movement https://gyazo.com/bc5da5eec43a8bd9ee43f32219a2c485

Expected behavior

Normal Movement https://gyazo.com/88779a06672e1ea1d19150a377ebf4f9

Things I have tried that haven’t worked:
1.) Changing the root priority of the model attached to the character (tried making it lower and higher with no success)
2.) Making all of the parts of the model that is attached to the character set to massless/not massless. Either setting didn’t work.
3.) Changing the Root priority of the character (Currently the root priority of the primary part of the character is 99)
4.) Using welds instead of Motor6D
5.) Creating the model on the client side and server side made no difference.

There are some weird things you can do to end being stuck in this weird movement behavior:
1.) Anchor the root part and wait a few frames, then unanchor (this is very impractical in a fighting game)
2.) On the client: Disable the Root Motor in the Lower Torso, then wait a few frames and then enable it again (also impractical)
3.) Tweening a different motor6D C0 can end this movement behavior too somehow? (not 100% certain on this)

A private message is associated with this bug report

4 Likes

Hey JKVette, sorry to hear about this issues you are seeing. This seems like a bug and I’d like to take some time to look into this. Will get back to you if I find anything

2 Likes

Appreciate the feedback. This has been ongoing for at least a year and a half just to let you know that it isn’t any recent changes causing this.

We’ve reverted an offending flag which (we think) should have fixed this issue. Let us know if this is still happening!

Curious on what the flag was, and it’s purpose if it caused this much trouble.

1 Like

This is still happening unfortunately.

Hello! If you’re still struggling with this problem, the solution is to anchor the HumanoidRootPart for a split second to allow the Roblox system to stabilize the center of mass.