diff --git a/MrBigsock/Assets/Code/InteractionSystem/Door.cs b/MrBigsock/Assets/Code/InteractionSystem/Door.cs
index 0602749d7beaefcb52d1346da8ef80388aaea021..9e0e82999ed2c5a583fdb3aa053ab92f81160bc6 100644
--- a/MrBigsock/Assets/Code/InteractionSystem/Door.cs
+++ b/MrBigsock/Assets/Code/InteractionSystem/Door.cs
@@ -1,3 +1,4 @@
+using Bigsock;
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
@@ -8,11 +9,22 @@ public class Door : MonoBehaviour, IInteractable
     public SpriteRenderer spriteRenderer;
     public Sprite newSprite;
 
+    private GameObject player;
+    private GameObject cameraPlayer;
+    private int i = TilemapGenerator.NextRoom();
+    private GameObject boundary;
+
     public string InteractionPrompt => _prompt;
 
     public bool Interact(Interactor interactor) {
         Debug.Log("Opening door!");
         spriteRenderer.sprite = newSprite;
+        player = GameObject.Find("BigSock");
+        boundary = GameObject.Find("CameraBoundry");
+        cameraPlayer = GameObject.Find("Main Camera");
+        player.transform.position = TilemapGenerator.DoorLocaitonTransport(i);
+        cameraPlayer.transform.position = player.transform.position;
+        boundary.GetComponent<PolygonCollider2D>().SetPath(0, TilemapGenerator.GetRoom(i));
         return true;
     }
 }