PointerEventData eventDataCurrentPosition = new PointerEventData(EventSystem.current);
eventDataCurrentPosition.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
EventSystem.current.RaycastAll(eventDataCurrentPosition, raycastResults);
После этого в raycastResults будет то, куда попал рейкаст именно в UI. Ну и mousePosition заменяйте на что вам нужно - на тачи, например.