RaycastHit hit; void Update () { if (Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1)) { Ray ray = GetComponent<Camera>().ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)) { print(hit.transform.name); print(hit.point); //snap to grid once selected. hit.transform.position = new Vector3(Mathf.Round(hit.transform.position.x), Mathf.Round(hit.transform.position.y), Mathf.Round(hit.transform.position.z)); } } }
Place it in camera or empty object.