void Update() { if (Input.GetButton(button)) { Ray ray; RaycastHit hit; GameObject hitTarget; ShowSpawnPoints(true); hand.ShowRayPointer(true); if (currentTarget != null) { Unhighlight(currentTarget); currentTarget = null; } ray = new Ray(hand.transform.position, hand.transform.rotation * Vector3.forward); if (Physics.Raycast(ray, out hit, 10f, LayerMask.GetMask("TeleportSpawn"))) { hitTarget = hit.collider.gameObject; if (hitTarget != currentTarget) { Highlight(hitTarget); currentTarget = hitTarget; } } } else { if (currentTarget != null) { transform.position = currentTarget.transform.position; transform.rotation = currentTarget.transform.rotation; } ShowSpawnPoints(false); hand.ShowRayPointer(false); currentTarget = null; } }