Разница в VR заключается в том, что курсора нет, поэтому обычная EventSystem не работает "из коробки".Простейший обходной путь, который сработал для меня, заключался в следующем: добавьте компонент коллайдера коробки к элементам пользовательского интерфейса.Raycast с контроллера против коробочных коллайдеров.Если у коллайдера есть компонент, который реализует интерфейс IPointerClickHandler, вы можете использовать для него метод OnPointerClick (PointerEventData e), и он будет считаться действительным щелчком (хотя это и обходит навигацию системы событий).
Вам нужно будет передать объект PointerEventData, я не могу вспомнить, можете ли вы просто передать нулевое значение, но я вполне уверен, что передача нового PointerEventData (EventSystems.current) - это нормально.
Для перетаскивания и более сложных событий вам может потребоваться заполнить некоторые дополнительные поля для правильного поведения пользовательского интерфейса