Our SDKs inject a persistent 6DoF coordinate system directly into your session origin - handling relocalization, drift correction, and WGS84 alignment without overriding your native tracking configuration.




MultiSet is a launch partner for the Meta Wearables Device Access Toolkit, the SDK Meta released in 2026 to open camera access on Ray-Ban Display to third-party developers. VPS localization runs on the device through that toolkit.
Three things change when the camera moves from a hand to a face, and all three are positioning problems rather than app problems.
The user stops framing the shot. On a phone the person points the camera at something recognisable, usually without being asked. On glasses the camera sees whatever the head happens to be facing, which includes a lot of ceiling, floor and blurred motion. Localization has to succeed on views nobody composed.
Queries become continuous rather than triggered. There is no shutter and no obvious moment to relocalize, so the pose has to be maintained rather than requested, which puts the cost on query latency and on gating cheaply when confidence drops.
And heading error becomes visible in a way it never was on a screen. A label a few degrees off is tolerable in a phone viewport and obviously wrong on a display sitting in your line of sight. Orientation accuracy stops being a specification and becomes the whole experience.
On privacy, which is the first question every enterprise security team asks about a camera worn on a face: MultiSet localizes against a prebuilt map and returns a pose. It does not need imagery to leave the device to do that, and the same binary runs in public cloud, private VPC, self-hosted or fully on-device. Sites that cannot let interior imagery out of the building can still run this. The longer write-up is in VPS on smart glasses.
Android XR is early and worth being precise about, because an honest account of what is and is not supported is more useful than a claim.
Supported today: MultiSet's Unity SDK and the REST API both run on Android XR devices, since the localization call is a camera frame and an HTTP request rather than anything platform-specific. Teams already building on the Unity path can target Android XR without changing their localization layer.
Not yet: there is no dedicated Android XR native runtime with platform-specific tracking integration, in the way the Meta Quest plugin and the iOS and Android native SDKs exist. That is on the roadmap rather than shipped, and anyone planning against it should plan on the Unity path today.
| Platform | Language | Sample scene | Localization modes | Runs on-device |
|---|---|---|---|---|
| Unity | C# | Yes | Single frame, continuous, Deep Search | Yes, iOS and Android |
| iOS native | Swift | Yes | Single frame, continuous, Deep Search | Yes |
| Android native | Kotlin | Yes | Single frame, continuous, Deep Search | Yes |
| WebXR | JavaScript | Yes | Single frame, continuous | No, cloud query |
| Meta Quest 3 | C# via Unity | Yes, with passthrough | Single frame, continuous | Yes |
| Meta Ray-Ban Display | Wearables Device Access Toolkit | Yes | Continuous | Yes |
| ROS 2 | C++ and Python | Yes | Single frame, continuous, TF publish | Yes |
| REST | Any | cURL examples | Single frame, Deep Search | Server-side |
The whole integration is four steps, and most teams get a device localizing inside ten minutes from importing the sample scene.
One. Create a map. Upload a scan you already have, in E57, Matterport, NavVis, Leica, Faro, XGRIDS, Polycam, PLY, GLB, a metric-scaled Gaussian splat or 360 video, or capture with the MultiSet Mapper iOS app.
Two. Get an API key from the developer portal and note the map identifier.
Three. Send a camera frame with its intrinsics to the localization endpoint. The response is a 6-DoF pose in the map's coordinate frame, plus a confidence value.
Four, and this is the step teams skip. Gate on the confidence value before you apply the pose. A wrong position returned confidently is worse than no position, and every serious integration treats a low-confidence response as a retry rather than a result.
From there, on-device tracking carries the user between fixes and the VPS corrects drift. Start free at developer.multiset.ai.