fixed
ViroReact 3.0.1 — Quest co-location & cloud-anchor callback cleanup
about 3 hours ago by ReadMe API
Shared coordinate frames now work on Meta Quest, and a never-wired cloud-anchor callback is removed.
Quest co-location
Two Quest headsets can agree on where the room is using Meta spatial anchors (not a ReactVision cloud anchor — OpenXR sessions have no camera image for SIFT localisation). Verified on Quest 3.
import { ViroSharedFrame, metaSpatialAnchorFrameSource } from "@reactvision/react-viro";
// Host
<ViroSharedFrame source={metaSpatialAnchorFrameSource(roomUuid, "create")} />
// Joiners
<ViroSharedFrame source={metaSpatialAnchorFrameSource(roomUuid, "join")} />
Requirements
- Root the scene in
ViroARScene(a fully virtualViroScenehas no AR session / anchor to share). - Run
expo prebuildafter upgrading so the config plugin can declarehorizonos.permission.IMPORT_EXPORT_IOT_MAP_DATA. Without it, Meta hides the group-sharing extension and the headset appears not to support shared anchors at all.
Co-location remains same-family (Quest↔Quest, phone↔phone, Vision↔Vision). See Co-Location and the HorizonOS setup guide.
Removed
onCloudAnchorStateChangeonViroARSceneNavigator. The prop was declared but never wired on either platform, so setting it did nothing. Use instead:hostCloudAnchor()/resolveCloudAnchor()— outcome (stateon the result)getCloudAnchorStatus()— progress while a resolve is in flightrvGetCloudAnchor(anchorId)— current state of an anchor you did not just touch
ViroCloudAnchorStateChangeEvent stays exported and deprecated so existing imports still compile.
Nothing else changed. Renderer work for this release ships inside @reactvision/virocore 3.0.1 as prebuilt binaries.