You can check the live demo here.
Develop and export WebXR experiences using the Unity Engine.
WebXR Export supports both Augmented Reality and Virtual Reality WebXR API immersive sessions.
It integrates the WebXR JavaScript API to Unity WebGL and lets you develop experiences in the familiar editor using C#.
Better option: Import WebXR Export and WebXR Interactions packages from OpenUPM.
Or import the packages from git, more info at WebXR Export and WebXR Interactions.
For more info on getting started and how to use WebXR Export, you can check the Documentation folder.
Important notice regarding this Git repository - This repository use Symlinks. make sure that Symlinks are enabled when you clone.
git config core.symlinks true
Or just use this as a Unity Package (UPM), more info here
2019.4.7
and up.2020.1
and up.
This is a list of browsers and platforms that the WebXR Export demo was tested on.
Google Chrome on Windows.
Microsoft Edge on Windows.
Mozilla Firefox on Windows.
Oculus Browser on Oculus Quest (Supports WebXR Hand Input).
Firefox Reality on Oculus Quest.
Firefox Reality on Hololens 2 (Supports WebXR Hand Input).
Microsoft Edge on Hololens 2 (Currently in Insider preview).
Google Chrome on Android (Supports both AR and VR sessions).
Samsung Internet Browser on Android (Supports both AR and VR sessions).
Firefox Reality on Vive Focus Plus.
Mozilla WebXR Viewer on iOS (Has a bug related to touch input).
Helio on Magic Leap One (Has a bug related to eye views).
WebXR Gamepads Module (Including hapticActuators on supported devices)
WebXR Augmented Reality Module
WebXR Hit Test Module (Currently limited to viewer space Hit Test source)
WebXR Input Profiles using WebXR Input Profiles Loader
If the user does not have supported headset, browser or device, the content will still work through the use of the WebXR Polyfill.
This asset works by utilizing Unity's WebGL platform support and therefore shares the same limitations. Because of this, mobile support is limited and may not work. We did made sure to make it light, so mobile devices would be able to handle it, and it is able to run on high end mobile devices with some optimizations. See Unity's WebGL browser compatibility.
You can check the changelogs of WebXR Export and WebXR Interactions for version history.
You're encouraged to open an issue, report a problem, contribute with code, open a feature request, share your work or ask a question. But remember that it's an experimental project.
Much of the WebXR upgrades and API usage made possible thanks to these resources.
WebVR to WebXR Migration Guide
The Immersive Web Working Group/Community Group
Special thanks to needle.tools for the help in making this a proper package.
Thanks to Brandon Jones (@toji) who wrote WebVR to WebXR Migration Guide and lots of samples that helped in converting the code from WebVR to WebXR.
Mozilla's Unity WebVR Export credits:
This project was heavily influenced by early explorations in using Unity to build for WebVR by @gtk2k, Chris Miller (@chrmi) and Anthony Palma.
Also, thanks to Arturo Paracuellos (@arturitu) for creating the 3D-hand models used for controllers in these examples.
As the base project used the Apache License, Version 2.0, we will continue with it.
WebXR Export License:
Copyright 2020 Oren Weizman
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This is a project based on Mozilla's Unity WebXR Exporter (from when it was WebVR exporter).
Unity WebVR Exporter License:
Copyright 2017 - 2018 Mozilla Corporation
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.