Если коротко:

Для сборки Unity OpenXR под Meta Quest установите в Unity Hub Android Build Support, SDK & NDK Tools и OpenJDK, переключите Build Profile на Meta Quest либо Android и включите OpenXR для этой платформы. Затем задайте уникальный package ID, выберите IL2CPP и ARM64, добавьте сцену, проверьте OpenXR Features и разрешения. Build создаст APK, а Build and Run установит его на подключённую гарнитуру в developer mode.

Unity OpenXR Meta Quest build — это Android-сборка для автономной гарнитуры, а не Windows-приложение для Link. Unity формирует APK, который выполняется на Quest. Перед первой сборкой нужно подготовить Android toolchain, включить OpenXR именно для мобильной платформы и проверить настройки Player.

Версии и Android-модули

На 8 сентября 2026 года Meta указывает Unity 6000.0.66f2 или новее и рекомендует Unity 6.1+. Для Unity 6000.0 доступна released-ветка OpenXR Plugin 1.16.x. У другой версии Editor могут отличаться названия вкладок и совместимые package versions — фиксируйте их в manifest.json и packages-lock.json.

В Unity Hub откройте Installs → Manage → Add modules для используемого Editor и установите:

  • Android Build Support;
  • Android SDK & NDK Tools;
  • OpenJDK.

Если Android отсутствует в списке Build Profiles, обычно модуль добавлен к другой установке Unity. Версию Java, SDK и NDK безопаснее брать из той же установки Editor, если проект не требует отдельно зафиксированного toolchain.

Включение OpenXR для Quest

Откройте File → Build Profiles. В Unity 6.1+ выберите платформу Meta Quest; в Unity до 6.1 используйте Android. Затем в настройках XR Plug-in Management активируйте OpenXR для вкладки Android/Meta Quest.

В OpenXR Features включите группу Meta Quest Support и нужные interaction profiles. Не активируйте все extensions подряд: каждая функция должна соответствовать возможностям приложения. Ошибки Project Validation исправьте до build. Базовая конфигурация loader, XR Origin и ввода разобрана в инструкции Unity и OpenXR.

Package ID, ARM64 и сцены

В Player Settings → Other Settings задайте уникальный package name вида com.company.product. Он становится Android application ID и должен оставаться стабильным для последующих обновлений приложения.

Для публикации Meta требует IL2CPP и только ARM64: ARMv7 нужно отключить. Укажите Version и увеличивайте Bundle Version Code для каждого нового загружаемого build. Meta также рекомендует Minimum API Level Android 10 (API 29) или выше и Target API Level — Automatic, чтобы использовать наиболее высокий установленный уровень.

В Scene List добавьте стартовую и остальные нужные сцены. Unity включает только отмеченные элементы списка; неверный порядок может запустить тестовую сцену вместо главного меню.

Permissions и Android Manifest

Unity и XR plugin формируют AndroidManifest.xml из Player Settings, OpenXR Features и зависимостей package. Не копируйте список permissions из чужого проекта. Например, интернет нужен сетевому коду, аналитике или загрузке контента, но полностью офлайн-приложению он может быть не нужен. Доступ к пространственным данным, камере или микрофону объявляется только для реально используемых функций, а runtime permissions запрашиваются в момент, когда пользователю понятна причина.

Перед релизом изучите итоговый merged manifest: сторонний plugin может добавить разрешение транзитивно. Опция Meta Quest Support Force Remove Internet Permission подходит лишь гарантированно офлайн-сборке — с ней сетевые функции перестанут работать.

Build и запуск на гарнитуре

  1. Включите developer mode для Quest и подтвердите USB debugging внутри гарнитуры.
  2. Подключите устройство по USB и выберите его в поле Run Device.
  3. Для диагностики включите Development Build; для финального измерения производительности отключите его.
  4. Нажмите Build and Run, выберите путь для APK и дождитесь установки и запуска.
  5. Если нужен только файл без установки, используйте Build.

Если Quest не появился в Run Device, проверьте кабель передачи данных, подтверждение RSA fingerprint, developer mode и доступность устройства через ADB. Ошибка Gradle до компиляции сцены чаще связана с несовместимыми SDK/NDK/JDK или Android-зависимостями. Чёрный экран после запуска уже требует проверки первой сцены, XR loader и логов устройства.

Что проверить после установки

Успешный build не подтверждает корректность VR-приложения. На устройстве проверьте pose гарнитуры, controller input, границы, возврат из системного меню, паузу и восстановление приложения. Затем снимите профиль производительности на Quest: Editor и Link не воспроизводят мобильные ограничения. Для этого подходит отдельный порядок профилирования VR в Unity.

Для релизного APK повторно проверьте package ID, version code, ARM64, подпись, набор permissions и список сцен. Development Build и отладочные инструменты должны быть выключены, если они не нужны конкретному каналу тестирования.

Поделиться:TelegramВКонтакте

Источники

  1. Meta — Set up Unity for VR development
  2. Meta — Build Configuration Overview
  3. Meta — Prepare Your App for Publishing
  4. Unity — OpenXR Plugin 1.16