Part anchored when not anchored?

This may be hard to explain but basically i have this script that has a part teleport behind a player when it is not looked at, it works however when it teleports it is just floating in the air and isn’t falling to the ground like a unachored part is supposed to behave

Script (local):

local player = game.Players.LocalPlayer
local camera = game.Workspace.CurrentCamera
local teleportInterval = 5

Cone.Anchored = false -- Unanchor the cone

while true do
	local cameraPosition = camera.CFrame.Position

	local playerCharacter = player.Character
	if playerCharacter then
		local torso = playerCharacter:FindFirstChild("Torso") or playerCharacter:FindFirstChild("UpperTorso") or playerCharacter:FindFirstChild("HumanoidRootPart")
		if torso then
			local torsoPosition = torso.Position

			local direction = (Cone.Position - cameraPosition).unit
			local cameraLook = camera.CFrame.LookVector

			local dotProduct = direction:Dot(cameraLook)

			print("Dot Product:", dotProduct)

			if dotProduct < 0 then
				-- Cone is not visible to the camera
				print("Cone not visible to the camera")

				local behindPosition = torsoPosition - torso.CFrame.LookVector * 10 -- Teleport behind the player's torso
				Cone.CFrame = CFrame.new(behindPosition)
			end
		end
	end

	wait(teleportInterval)
end

This behavior is because in the while true loop, you are constantly setting the cone CFrame to the behind position, making it look like it’s stuck there. You can resolve this by having some check that determines if you have already set it to behind the camera

local didSetBehind = false

while true do
  ...
  if dotProduct < 0 and not didSetBehind then
    ...
    Cone.CFrame = CFrame.new(behindPosition)
    didSetBehind = true
  elseif didSetBehind then
    didSetBehind = false
  end
  ...
end

tried attempting it like that but it is still levitating in the air


Edit: I noticed it seems to likely be due to the bodygyro and mesh within as when i removed the bodygyro and touched the cone it moved, though froze when no longer touched. then i removed the mesh and it moved freely

edit 2: i changed to a different mesh and used meshopart instead. i touched it and it moved freely however when it teleported it just stayed in the air unmoveable though after a short time it fell to the ground.

these edits are likely not helpful