Repository navigation
v3.0.3
Meta Quest gets an in-headset menu and stops reopening itself, iOS mounts ViroObjectDetector again, and the package bundles for the web. A patch release on top of 3.0.2. Renderer binaries are rebuilt on virocore 3.0.3.
Meta Quest
- The headset view no longer reopens by itself after the wearer goes Home or opens Settings. VR launches once, on mount; the panel offers "Enter immersive view", which
renderQuestPanel(enter)replaces with your own panel. Leaving VR returns to the panel through Home, where the wearer left it. - A menu on the left controller's Y button in
StudioSceneNavigator: scene name, shared-session status and join code, yourquestMenuItemsand Exit. The scene HUD now stays where it appears instead of following the head, says why a shared session failed, and its text is sharp. - Studio scenes with plane detection on no longer crash outside a shared session, and a plane scene opened after another AR scene now gets the room's planes.
- The boundary is hidden while passthrough is on.
- Expo plugin:
android.questFeaturesdrops the permissions an app does not use (colocation,eyeTracking,passthroughCamera),android.questHorizonOsSdksets the Horizon OS SDK version (69 by default),horizonos.permission.HAND_TRACKINGreplaces the deprecated name, and Quest builds no longer declare location or require a camera.
iOS
<ViroObjectDetector />mounts again. 3.0.2's prebuilt archive left outVRTObjectDetectorView, so it failed with "View config not found" andreact-viro-onnxfound nothing to attach to. Runpod installand rebuild. If the view is ever missing, the component now renders nothing and callsonErrorinstead of taking the screen down.- A session-only app no longer asks for location when it opens an AR scene. The Core Location feed starts only with
RVApiKeyandRVProjectId, as before 3.0.2. - Camera recordings carry an audio track.
Web
- The package bundles with Vite and webpack. 3.0.2 shipped raw JSX in
dist/. The build now uses the automatic JSX runtime, and assets resolve without React Native'sAssetSourceResolver.
Everywhere
- Studio, scene and cloud-anchor requests run in the platform database's region, falling back to unpinned when that region's edge runtime is down.
rvSetStudioSessiontakes an optionalfunctionRegion. getRecordingStatusreturns"None","Recording","IOError"or"Unsupported"on Android too (typedViroRecordingStatus). Android used to return the Java enum names.onCollisionfires against the AR world mesh with itscollisionTag.- On Android,
startRecordingwithoutRECORD_AUDIOrejects instead of hanging. - A
ViroCameramounted between its siblings becomes the scene's camera. - visionOS:
ViroSpatialSound,ViroSoundFieldandViroObjectDetectorrender nothing instead of crashing. - visionOS Expo plugin: it no longer copies stale patches next to an app's own, which made
patch-packagefail and, through an oldexpo-modules-corepatch, broke assets and icon fonts on iOS.