Если коротко:
Краткий ответ на запрос «Unity XR Device Simulator» дан с опорой на официальные источники; конкретная совместимость и версии требуют проверки перед действием.
Unity XR Device Simulator, компонент XR Interaction Toolkit для воспроизведения ввода XR-устройства в Play Mode редактора. Он полезен, когда нужно рано проверить навигацию, выбор и захват объектов без подключённой гарнитуры. Симулятор не заменяет тест на целевом устройстве: он не воспроизводит оптику, фактический трекинг, разрешения, производительность runtime и особенности конкретных контроллеров.
Установка и минимальная сцена
Установите совместимую версию XR Interaction Toolkit через Package Manager и настройте Input System по документации именно этой версии пакета. Затем добавьте XR Origin и XR Device Simulator либо используйте prefab, предусмотренный пакетом. Не смешивайте шаги из руководств для разных major-версий: названия компонентов, образцы и настройки ввода могут отличаться.
Симулятор работает через действия ввода. Проверьте, что Input Action Asset назначен и включён. В проекте с собственной схемой ввода сопоставляйте действия явно: две активные карты, использующие одни клавиши или устройство, могут перехватывать ввод и создавать впечатление, что симулятор не работает.
Для минимального воспроизведения оставьте в новой сцене XR Origin, симулятор и один объект с настроенным взаимодействием. Запустите Play Mode и проверьте отдельно перемещение головы, положение контроллера, выбор и захват. Если эта сцена работает, возвращайте компоненты в основной проект по одному; так проще найти конфликт, чем менять все настройки одновременно.
Что проверять в Editor
XR Device Simulator подходит для повторяемой проверки базового пользовательского потока: вход в сцену, наведение, выбор, захват и предусмотренный проектом способ движения. При сбое сначала смотрите на пары Interactor/Interactable и слои взаимодействия, а не меняйте параметры симулятора. Успешный тест в Editor не подтверждает поведение на реальной гарнитуре.
Частые причины, почему нет реакции
Если не двигается камера или контроллер, сверяйте версию Toolkit, Input System и назначение action asset. Убедитесь, что в сцене нет второго активного XR Origin или другой активной схемы, перехватывающей действия. После изменения bindings перезапустите Play Mode: это помогает исключить состояние уже загруженной карты ввода.
Если курсор движется, но объект не выбирается, проверьте, что у объекта есть нужный Interactable, а у контроллера, совместимый Interactor. Слой взаимодействия и фильтры могут намеренно не давать объекту принимать событие. Это отличается от ошибки симулятора, поэтому изменение клавиш здесь не является первым действием.
Обязательный тест на устройстве
Перед релизом соберите приложение и проверьте его на поддерживаемой гарнитуре и runtime. Только этот этап показывает реальные разрешения, фокус приложения, жизненный цикл runtime, производительность, фактическую позу рук и контроллеров, а также доступность профилей ввода. Meta также описывает собственный путь к эмуляции XR для Unity, но он не отменяет проверку на конечном устройстве.
Запишите результат вместе с версиями Unity, Toolkit, OpenXR Plugin и runtime. Если ошибка проявляется только на устройстве, сравните разрешения, профиль ввода и журналы сборки.
Источники
- https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.0/manual/xr-device-simulator-overview.html
- https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-device-simulator-overview.html
- https://developers.meta.com/horizon/documentation/unity/xrsim-getting-started/