HumanoidRootPart is jittery, overshoots somewhat and is not smooth when lerping rotation in first person

When in first person with this weapon system, the :lerp im using to smooth the setting of the RootPart CFrame appears somewhat choppy, like its bouncing or overshooting rather than smoothly interpolating to my cursor, while this doesn’t happen when moving up-down.
Video example: (uploaded externally as file size was too large)

External Media

This is the code setting the CFrame:

local speed = dt * 20
Root.CFrame = Root.CFrame:Lerp(CFrame.lookAt(Root.Position, Vector3.new(Mouse.Hit.Position.X, Root.Position.Y, Mouse.Hit.Position.Z)), speed/2)

Do note that the AutoRotate property of the humanoid is disabled during this as well. I have encountered this issue previously when trying to make first person camera systems, so figuring out what exactly causes this would definitely be helpful.

bump

characterscharacterscharacterscharacters

You’re gonna have to upload your MP4 to an external website or attempt to get it embeded here, most people will just pass on this thread because they dont want to download anything.

I recommend streamable.com

as for your issue

Try messing around with your speed values local speed = dt * 20

don’t use a runservice loop; it’ll actually be much smoother in a fixed rate loop.

while true do
  Root.CFrame = Root.CFrame:Lerp(...)
  task.wait(1/60)
end

try it out

task.wait(1/60) is connected to the user’s FPS.
To make the sensitibity not effected by the FPS you have to use wait or use :RenderStepped() with an equation to limit the max speed factor.

figured out the problem, its caused by smthn else