Based off the video it looks they did that by taking the lookVector of the player’s HumanoidRootPart, and then tweening the CFrame of the player’s LowerTorso to the lookVector after a short delay from the player rotating (you can detect that using Humanoid.MoveDirection). I’m pretty sure the LowerTorso stays in place by anchoring it while the player is unmoving (Humanoid.MoveDirection again), but I’m not completely confident on that one.