void Update() { if (Input.GetMouseButtonDown(2)) { // Show Popup Menu if (popupMenu != null) { var screenPoint = Camera.main.WorldToScreenPoint(Input.mousePosition); var spawnPosition = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z)); spawnPosition.z = 1f; popupMenu.Show(spawnPosition); } } if (Input.GetMouseButtonUp(2)) { // Activate Popup Menu Item (if any) if (popupMenu != null) { popupMenu.CheckAndActivate(); } } }