Teleport 2D player in unity not working

I am working on this game about a player in a dungeon and the player needs to be able to teleport from door to door when it walks in it. The problem is is when the player enters the door it gets teleported, but when it is teleported it creeps back to its original position. I don’t know what causing it and would like it to be fixed. I thought that my player movement script was interfering with it, but I turned it off before the player would teleport and it would still do it. I don’t know if I am clear enough, but if you have any questions please ask.

Here is my script for the door:

public class DoorController : MonoBehaviour
{
    public Camera CameraA;
    public Camera CameraB;

    public GameObject Player;
    public Transform destination;

    public bool DoorOnTop;

    //if collider hits something
    public void OnTriggerEnter2D(Collider2D collider)
    {
        //checks if it is player
        if (collider.gameObject.tag == "Player")
        {
            SwitchCamera();
            TpPlayer();
        }
    }

    private void SwitchCamera()
    {
        CameraA.enabled = false;
        CameraB.enabled = true;
    }

    private void TpPlayer()
    {
        if(DoorOnTop)
        {
            Player.transform.position = new Vector2(destination.position.x, destination.position.y + 1.15f);
        }
        if (!DoorOnTop)
        {
            Player.transform.position = new Vector2(destination.position.x, destination.position.y - 0.85f);
        }

    }
}

Hi. Do you have 2 doors with this script attached?

If so maybe the issue is that the player approches door nr.1, and gets teleported. But now it is colliding with door nr.2, so it fires telleport again on the second script.

Not sure how your DoorOnTop supposed to work with this. There is no mention in the code. Do you manage that through other script or by just selecting the checkbox in Inspector, to differentiate doors?

Disabled scripts can still run code in unity. However the Update function shouldn’t run.
_
It sounds like the teleport code is working correctly, but something else is moving the player. Can you define “creeps back”, is this slowly over a few seconds moves back towards the original position or is it an instant teleport?
_
A complete shot in the dark suggestion - If you’re using a 2drigidbody it might have a set velocity towards a certain point which will still move with the script disabled?

I fixed it using a different collider and then turing the is trigger from the door on when it is in place. This is janky but it works. Don’t fix it when it ain’t broke