BodyPosition/Gyro stalling an awful long time

Hi everyone! I’ve created a pet script that makes a pet follow you, and it works fine for the most part. However, the BodyPosition isn’t moving (and gyro rotating) until a really long time after an initially moving. I don’t know if it’s a problem with my script but I thought I’d post it here anyway.
My script: (A LocalScript in StarterGui):

local char = game.Players.LocalPlayer.Character or game.Players.LocalPlayer.CharacterAdded:Wait()
local pet = workspace.Pet
local bp = pet.BodyPosition
local bg = pet.BodyGyro
bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)

while true do
	wait()
	bp.Position = char.Head.Position - char.Head.CFrame.lookVector * 3 + char.Head.CFrame.rightVector * 3
	bg.CFrame = CFrame.new(pet.Position, char.Head.Position + char.Head.CFrame.lookVector * 100)
end

This script was the only one I could make work for my needs, and I’d like to continue using body movers, but this problem is very problematic for my case. Can someone help me please?

1 Like

Nevermind! It turns out I had left a script in that was creating constraints on the pet that shouldn’t have been there.