WebXR (beta)
Overview
WebXR is an industry-standard API designed to enable immersive experiences directly within web browsers, encompassing both Virtual Reality (VR) and Augmented Reality (AR). "WebXR" stands for "Web Extended Reality", where "XR" refers collectively to all immersive technologies, including VR, AR, and Mixed Reality (MR).
Key differences between WebXR and other AR solutions
Augmented Reality (AR): Uses a device's camera to overlay virtual objects onto the real world (passthrough mode). Primarily used with smartphones and AR headsets.
Virtual Reality (VR): Creates a completely virtual environment without using a camera. Primarily utilized with VR headsets.
Extended Reality (XR): A general term covering both AR and VR experiences.
Comparison with current AR solution
Our decision to adopt WebXR is driven by limitations observed in current AR solutions:
Direct File Display: Current AR solutions require processing and sending GLB or USDZ files to devices, causing potential delays. WebXR eliminates this conversion, enabling faster previews.
Interactivity: Current AR solutions support only basic animation (typically limited to the first animation) and lack interactive features such as hotspots and floating UIs.
Rendering Engine: Variability in rendering engines for existing AR solutions can result in inconsistent visual outcomes. WebXR provides consistent rendering across operating systems.
Performance: WebXR demands more rigorous optimization of projects compared to traditional AR solutions.
Current state of WebXR (beta) in Vectary
WebXR currently supports:
Interactive elements
Animations
Floating UIs and Hotspots (currently available only on Android devices; unsupported on VR headsets)
Device Compatibility
WebXR is currently fully supported on:
Android devices
VR/AR headsets including Meta Quest 2, 3, Pro, HTC XR Elite, and Apple Vision Pro (VR mode only)
Limited support is available for:
iOS devices: Requires specialized WebXR-compatible browsers such as XR Browser (experimental; occasional bugs possible)
Future direction
We aim to maintain dual support for existing AR solutions and WebXR, particularly until Apple enhances WebXR compatibility, ensuring broader device coverage and stability.
Integration and usage
Activating WebXR: Enable WebXR via the right-hand panel by selecting Advanced > WebXR (beta).
Coexistence: WebXR integrates alongside existing AR experiences, allowing simultaneous use within the same project.
Device-Specific Buttons: Buttons to activate WebXR appear only on supported devices.
Example
Try it here: https://app.vectary.com/p/5RIkiwHv7UDqJiECo5nxhR
Conclusion
WebXR significantly advances the immersive and interactive browser-based experience. Despite current limitations and partial support on iOS, WebXR provides faster performance, enhanced interactivity, and extensive support across various VR/AR devices. Continued development will enhance compatibility and user experience for both current AR implementations and WebXR.
Last updated