Invisibility bug after teleport

Hello, I have this problem with teleportation ability. I made a code that will teleport a player with server script thanks to :MoveTo but for some reason, if a player joins the game after I use the ability, I am permanently invisible to them.

This is the piece of code in server script I use:

local function teleportToSavedPosition(player, humanoidRootPart)
		local savedPosition = savedPositions[player.UserId]
		if savedPosition and humanoidRootPart then
			player.Character:MoveTo(savedPosition)
			print("Teleported player back to saved position:", player.Name, savedPosition)
		else
			print("No saved position found for player:", player.Name)
			print("Saved positions table content:", savedPositions)
		end
	end

I also tried to set Position instead of :MoveTo but the result was the same.
The same result was also when I tried to teleport Humanoid Root Part or primary part instead of Character.

Anyone knows why is this happening?

Use CFrame, if you only use position. it will only effect the part (In this case is the humanoidRootPart) to that exact location while the other bodypart like limbs stays there

So if I use CFrame instead of position, players who join the game after the ability is used won’t see me invisible? Players who were already in the game see me just fine.

Weather its local or script, player will see you just fine?

The script is in server script. If the player was already in the server, they will see me just fine like always. If the player joins AFTER the ability was used, they will have me invisible.

So was it a solution or not? I have the exact same problem, made a post trying 5 different methods to fix it, and just nothing. I did set a solution to it, but I found it that for unknown reason it was not fixed, even using :LoadCharacter(). This is an engine bug but I don’t find staffs or anyone else offering help or official work-arounds.