void Update() { pos = CameraSingleton.GetCamera().WorldToScreenPoint(player.transform.position); if (pos.x > warpWidth) { Vector3 newPos = new Vector3(0f, pos.y, pos.z); Vector3 worldPos = CameraSingleton.CameraPositionToScenario(newPos); Debug.Log("Pos: " + worldPos); player.Teleport(new Vector3(worldPos.x, player.transform.position.y, worldPos.z)); } if (pos.y > warpHeight) { Vector3 newPos = new Vector3(pos.x, 0f, pos.z); Vector3 worldPos = CameraSingleton.CameraPositionToScenario(newPos); Debug.Log("Pos: " + worldPos); player.Teleport(new Vector3(worldPos.x, player.transform.position.y, worldPos.z)); } if (pos.x < warpZeroWidth) { Vector3 newPos = new Vector3(screenWidth, pos.y, pos.z); Vector3 worldPos = CameraSingleton.CameraPositionToScenario(newPos); Debug.Log("Pos: " + worldPos); player.Teleport(new Vector3(worldPos.x, player.transform.position.y, worldPos.z)); } if (pos.y < warpZeroHeight) { Vector3 newPos = new Vector3(pos.x, screenHeight, pos.z); Vector3 worldPos = CameraSingleton.CameraPositionToScenario(newPos); Debug.Log("Pos: " + worldPos); player.Teleport(new Vector3(worldPos.x, player.transform.position.y, worldPos.z)); } P1CanvasX = pos.x; P1CanvasY = pos.z; }