Alright, so Ive been having a problem for some odd reason.. Ive used this function many times before and it's always worked. But now this time around with a new game it seems to give a error. Help?

function giveGear(Player, GearId)
	local Backpack = Player:WaitForChild("Backpack")
	local Gear = Insert:LoadAsset(GearId) -- Comes as Model.
	repeat 
		wait(1) 
		print(#Gear:GetChildren()) -- This is now #0. Though a tool should be inside it.
	 until #Gear:GetChildren() == 1
	Gear:GetChildren()[1].Parent = Backpack
	print("Gave "..Player.Name.." "..Market:GetProductInfo(GearId).Name)
end

Any ideas why this function seems to not work? Is it just a simple stupid mistake I made?