I've searched many places for this answer. I'm trying to make an object follow you, and the script, BodyGyro, and BodyPosition are all children inside of one part. I'm trying to use NormalId so that that part stays behind the character at all times though I'm not really sure what I'm doing with it because I've never had to use it before. Is there a better way to do it, and if so, what is it? I can use literally any help because I've been stuck on this for a while, thanks!

local BodyGryo = script.Parent.BodyGyro
game.Players.PlayerAdded:Connect(function(Plr)
	Plr.CharacterAdded:Connect(function(Char)
		while wait() do
			local Target = Char:FindFirstChild("HumanoidRootPart")
			BodyGryo.CFrame = Char.HumanoidRootPart.CFrame * CFrame.Angles(0,math.rad(0),0)
			script.Parent.BodyPosition.Position = Vector3.new(Target.Position.X, Target.Position.Y, Target.Position.Z - 3)
		end
	end)
end)