Possible issue with TeleportTo

Hello, I’m having some trouble with the TeleportTo function.

I’m simply trying to teleport a player from one place to another, however in one specific TeleportTo call the player doesn’t end up at the coordinates of the gameobject I’ve specified to teleport to. Usually the player falls though the floor, and also maybe 1 every 10 times or so the player will teleport way up into the air and fall down onto the platform

I’ve tried simple things like moving the game object above the floor a bit, to no avail.

There are other instances of the TeleportTo function in the same udon behavior that work flawlessly. (though it may be worth noting that other players will be near those other locations all the time)

My current workaround is to put a box under the platform that teleports the player back up if they fall though (which uses the exact same line of code but then works properly).

Can you link the Udon or a visual example of the problem happening?

Thank you for the reply!

Sure, the previous gameobject owner, selects a new player to be asked a question then Serializes, then on Deserialization the next player to be asked a question takes ownership of the gameobject and teleports themselves to the answer area.

   public override void OnDeserialization() {
        Log("Deserialization was called");
        UpdateGameAreaUiElements();
        if (GameState == 0) { Countdown(5); }
        if (GameState == 1) { 
            Countdown(TimeToAnswerQuestion);
            if (Networking.LocalPlayer.displayName == ActivePlayer && Networking.LocalPlayer.playerId == ActivePlayerID) {
                if (!Networking.LocalPlayer.IsOwner(gameObject)) {
                    Networking.SetOwner(Networking.LocalPlayer, gameObject);
                }
            }
            if (Networking.LocalPlayer.IsOwner(gameObject) && Networking.LocalPlayer.playerId == ActivePlayerID) {
                if (GameAreaBox.bounds.Contains(Networking.LocalPlayer.GetPosition())) {
                    UpdateAnwserAreaUIElements();
                    Log("Teleporting player to answer area");
                    Networking.LocalPlayer.TeleportTo(AnswerAreaTeleport.transform.position, AnswerAreaTeleport.transform.rotation);
                    Serialize();
                }
            }
        }

Here is an example of the player being teleported into the air. (because it happened to be what happened on my first attempt to record it)
teleport bug

And here is the gameobject I am referencing to teleport the player to.
image

that is a known issue if you use teleportto from ondeserialization. Try delaying it to the next update with sendcustomeventdelayed

That solved the problem! Thank you!