private void Update() { Vector3 currentPosition = UtilsClass.GetMouseWorldPosition(); //LMB if (Input.GetMouseButtonDown(0)) { //Left mouse Button press startPosition = UtilsClass.GetMouseWorldPosition(); mousedown = true; } if (Input.GetMouseButtonUp(0)) { //left Mouse Button Released mousedown = false; //make selection box disappear SelectionBox.SetActive(false); Collider2D[] collider2DArray = Physics2D.OverlapAreaAll(startPosition, currentPosition); foreach (RTSUnit RTSunit in selectedRTSUnitList) { RTSunit.SetSelectedVisible(false); } selectedRTSUnitList.Clear(); foreach (Collider2D collider2D in collider2DArray) { RTSUnit RTSunit = collider2D.GetComponent <RTSUnit>(); if (RTSunit != null) { RTSunit.SetSelectedVisible(true); selectedRTSUnitList.Add(RTSunit); } } Debug.Log(selectedRTSUnitList.Count); } //if lmb held down if (mousedown && startPosition != currentPosition) { DrawSelectionBox(startPosition, currentPosition); } //RMB if (Input.GetMouseButtonDown(1)) { //right Mouse Button press nextPositionLeft = UtilsClass.GetMouseWorldPosition(); } if (Input.GetMouseButtonUp(1)) { //right Mouse Button Released nextPositionRight = UtilsClass.GetMouseWorldPosition(); if (selectedRTSUnitList.Count == 1) { selectedRTSUnitList[0].PathTo(nextPositionLeft); } if (selectedRTSUnitList.Count > 1) { } } }