Alright so credits to roystanford for this, all i did was make it more snappy by saying * on line 8, local script inside of startercharacterscripts
local hum = script.Parent.Humanoid
local rootPart = script.Parent.HumanoidRootPart
hum.AutoRotate = false--disable roblox's autorotate
hum:GetPropertyChangedSignal("MoveDirection"):Connect(function()--fires when the humanoid's move direction changes
local rootPos = rootPart.CFrame.p--get root position
local moveDir = hum.MoveDirection*2--get character's move direction
moveDir = Vector3.new(moveDir.X, 0, moveDir.Z)--remove the y component
if moveDir.Magnitude > 0.5 then--make sure we're not standing still
rootPart.CFrame = CFrame.new(rootPos, rootPos + moveDir)--rotate the player
end
end)
wow i am almost 3 years to late.