I encountered this weird bug while scripting a game that I’m on. I tried debugging within the game expecting it to be a logic error from my part elsewhere. I later debugged in an empty baseplate with the following code(don’t mind its ugliness, I was testing) :
local player = game.Players.LocalPlayer
local uis = game.UserInputService
uis.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.T then
local anim = player.Character:FindFirstChildWhichIsA("Animator", true):LoadAnimation(game.ReplicatedStorage.UltimateThree)
print(anim.IsPlaying, anim.TimePosition, anim.Length)
anim:Play()
player.Character.HumanoidRootPart.Anchored = true
task.wait(0.5)
player.Character.HumanoidRootPart.Anchored = false
end
end)
playing an animation(with a lot of movement) → anchor character(doesn’t matter which part) → unanchor before animation.Ended(yes animation.Ended instead of .Stopped) and voila there’s a mysterious force that pulls on the character whenever you try jumping around and moving. Additionally, it gets fixed when you make a physical change to the character’s assembly.
Bug occurring clip
“Fixing” the bug through a physical change(toggle anchor in this case)