/unity-webxr-export

Assets for creating WebXR-enabled Unity3D projects.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Unity WebXR Exporter

Assets for creating WebXR-enabled Unity3D projects.

Check out the demo now!
Read our blog post (March 2020 - WebXR Update). Read our blog post (February 2018).

Preview of Unity WebXR-exported project in the browser

Free to download and available now on the Unity Asset Store.


Getting started

Need help?

Compatibility

Unity editor version

  • 2018.4 and newer.

Browser Compatibility

WebXR has limited support at time of writing. See compatibility at caniuse or on MDN

A special build of Firefox, Fiefox Reality, has built-in support for WebXR.

The polyfill will fall back to the old WebVR API if it is available.

Platform Browser Compatible headsets Notes
Desktop Firefox HTC VIVE, Oculus Rift, Windows Mixed Reality headsets (using Steam VR) Setup instructions
Desktop Microsoft Edge Windows Mixed Reality headsets Setup instructions
Desktop Chrome Canary HTC VIVE, Oculus Rift, Windows Mixed Reality headsets Browser flags required. Setup instructions
Mobile Oculus Browser Oculus Quest
Mobile Firefox Reality Oculus Quest

Polyfilled WebXR

If the user does not have supported headset, browser or device, the content will still work through the use of the WebXR Polyfill.

Mobile support

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. See Unity's WebGL browser compatibility.

Version History and Notes

Contributing

Contributions from the developer community are very important to us. You're encouraged to open an issue, report a problem, contribute with code, open a feature request, share your work or ask a question.

Take a look at the contributor guides too.

We want to hear from you!

We’d love to hear about what you come up with using the WebXR Assets. Share your work with us and use the #unitywebvr Twitter hashtag.

The Unity WebXR Assets is an open-source project (licensed under Apache 2) available on GitHub.

Reach out to us with any questions you may have or help you may need, and participate in the discussions on the WebVR Slack in the #unity channel.

Developer Privacy Notice for Data Collection

Last updated: March 2018

To help improve the WebVR API and the Unity WebVR Assets package, each time a web page built using the WebVR Assets is loaded, Mozilla automatically receives general-usage statistics and uncaught JavaScript errors encountered by end-users, using Google Analytics and Sentry, respectively. The complete list of collected data includes metrics for counting the number of unique web-page sessions; time for web pages to load and time open; JavaScript error exceptions occurred on the page; the number of times a VR device is mounted and worn; number of times VR mode is enabled and time spent; and a random identifier.

You as a developer can turn off this data collection by modifying the configuration snippet that comes with the VR template. It is your obligation to inform your end-users of this data collection and to inform them that it can be turned off by enabling “Do-Not-Track” in their browsers.

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.

License

Copyright 2017 - 2020 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.