Help needed with bodygyro (Pet rotation)

Hi, I want to make a pet that follows the player while moving. The pet follows the player, but it doesn’t rotate with the player. I have no idea how to fix this, since I have no experience with bodygyro I looked on the wiki and searched on the forum, but I didn’t find anything.

afbeelding

This is what I have so far:

while true do
	wait()
	local humRP = script.Parent.Parent:WaitForChild("HumanoidRootPart")
	local bodyPosition = script.Parent.BodyPosition
	local bodyGyro = script.Parent.BodyGyro
	bodyPosition.Position = humRP.Position + humRP.CFrame.lookVector*-1.5 + humRP.CFrame.upVector*2 + humRP.CFrame.rightVector*2
    bodyGyro.CFrame = humRP.CFrame * CFrame.new(3,0,-3)
end

Thank you in advance!

Make sure you have a high MaxTorque

afbeelding
They are already

Try lowering the dampening and raising the power

That also doesn’t fix anything. It is only a 90 degrees angle when idle, because it will turn when I walk with the character, but it will always be 90 degrees off.

It would have been helpful if you had said that before.

CFrame.Angles(0, math.rad(90), 0), you may have to reverse the angle to -90