Well, with some testing, I can see that setting it to -2 without an animation doesn’t make it do that weird sliding thing, so it’s probably the animation that’s causing the sliding. Try moving the torso up in the animation. or simply set the hip height to be closer to 0, like -1 or something?
Ironically, I’ve had the same issue regarding the hip height, and suddenly came across someone saying that you can normally fix it by customly setting the hipheight value if you’ve detected it being below any number.
local character : Model
local foot, head = character:FindFirstChild("LeftFoot"), character:FindFirstChild("Head")
local height = (head.Position - foot.Position).Y
local hip_height = height * 0.5
Or it was something like
local character : Model
local foot, rootPart = character:FindFirstChild("LeftFoot"), character.PrimaryPart
local lower_root_position = (rootPart.CFrame * CFrame.new(0, -rootPart.Size.Y * 0.5, 0)).Position
local lower_foot_position = (foot.CFrame * CFrame.new(0, -foot.Size.Y * 0.5, 0)).Position
local hip_height = (lower_root_position - lower_foot_position).Y
Or even raycasting, though unreliable if you’re jumping…