All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Support for WebAssembly Table, to support newer Unity versions features.
- Adapt Color Space warning to Unity 6 and up.
- An option in WebXRCameraSettings to set flat/normal mode camera pose when returning from XR mode.
- XR Hand pinch is now detected manually instead of relying on system select event, to support Apple Vision Pro.
- Renamed WebXR HMD to WebXR Tracked Display.
- WebXRCamera to work with TrackedPoseDriver and the Input System.
- Editor error messages as warnings.
- Errors of Module._malloc and Module._free are not functions.
- Mapping of WebXR Tracked Display device.
- An option to auto-load WebXRManager on start in WebXRSettings.
- An option to auto-load WebXRInputSystem on start in WebXRSettings.
- Error message when there's no Universal Render Pipeline package in project.
- Error message when Player Settings Color Space not set to Gamma.
- Updated WebGLTemplates assets based on newer Unity versions.
- Native XRSubsystem for WebXR Display rendering.
- Native XRSubsystem for WebXR Headset/Device tracking.
- WebXRCameraSettings for updating Camera settings when switching XR modes.
- WebXRModesNotifier with events when switching to or from XR modes.
- Support for Unity versions older than 2020.3.6f1.
- Support for Built-in Render Pipeline.
- Old 2019 WebGLTemplates.
- WebXRHandData pointerPosition and pointerRotation (WebXR targetRaySpace for hands).
- An option for eventsCamera in WebXRCamera.
- Enabled stencil buffer when creating the session XRWebGLLayer.
- OnControllerUpdate is not dependent on OnHandUpdate in WebXRSubsystem.
- WebXRControllerData gripPosition and gripRotation return world space value instead of relative to pointer pose.
- Performance issues in AR mode.
- Option to update active camera tag in WebXRCamera.
- Options to set Framebuffer Scale Factor in WebXRSettings.
- Improve performance.
- Missing Provider class in build.
- Issues when using more than one WebXRManager components.
- Missing SubsystemRegistration when using newer versions of Unity XR Management package.
- Support for Spectator Camera.
- WebXR input profiles loading on SteamVR.
- GetButtonTouched to WebXRController, to support buttons touched values.
- Another ugly hack to fix WebXR Viewer viewports on iOS.
- Issue of a delay on controller buttons press.
- hapticActuators didn't work.
- Error on XR session end in Unity 2021.2 builds.
- Issues with Touch events on AR session in Unity 2021 builds.
- Minimum Unity Editor version 2019.4.33.
- Support for Unity 2021.2 (currently beta) and up.
- Actions to delegates in WebXRSubsystem.
- How WebGL context clear alpha works.
- Support for WebXR Polyfill config. Need to set window.WebXRPolyfillConfig.
- How the interoperability between JavaScript and C# works.
- Support for WebXR XRVisibilityState.
- Use view transform matrix instead of orientation/position for pose.
- Hand joints don't get radius.
- Hand joints instantiate at wrong position.
- WebXRHandJoint enum instead of const values.
- Scripts execution order.
- How XR session switch is handled.
- OnXRChange is called from the Update loop.
- User scaling issue in FullView WebGLTemplates.
- Issue with disabling hand when not tracking.
- Const hand joints index values from WebXRHandData.
- CameraFollower to WebXRCamera, for AudioListener to follow active cameras poses.
- Optimization for JavaScript to C# communication.
- Errors when building for other platforms using IL2CPP.
- Custom JavaScript dispatch events from the WebGLTemplates.
- Workaround for Chromium depth bug (Chromium issue 1167450).
- ToggleAR, ToggleVR, isSupportedAR and isSupportedVR to WebXRManager.
- WebXRDisplayCapabilities class to struct.
- hasExternalDisplay from WebXRDisplayCapabilities.
- Support for
targetRaySpace
for controllers poses.
- Use
targetRaySpace
as the default controller pose instead ofgripSpace
. - Use generic Input Profile in editor for all controllers types.
- Hack for Oculus on Chrome Desktop wrong
targetRaySpace
bug. - WebXRCamera now removes event listeners OnDisable.
- GetLocalRotation and GetLocalPosition to WebXRCamera.
- Support for the new/updated WebXR Hands API.
- isControllerActive and isHandActive to WebXRController.
- Using
frame.fillPoses
andframe.fillJointRadii
instead offrame.getJointPose
for XRHand. - Camera matrices handling.
- WebGLTemplates webxr.js merged into Plugins webxr.jspre.
- Bug related to pose view eye can be
none
.
- Matrix utilities files.
- Multi touch support for Handheld AR.
- OnDisable in WebXRController.
- Depth and Stencil clear issue in Handheld AR.
- Ugly hack to fix WebXR Viewer viewports on iOS.
- WebXRController Button Up/Down state.
- Protect compilation on other platforms.
- Docs page.
- XRInputSource profiles support.
- Added OnControllerActive, OnHandActive and OnHandUpdate actions to WebXRController.
- WebXRController no longer instantiate hand joints.
- Better handling for controllers buttons in the editor.
- WebXRController TryUpdateButtons is now private.
- Disable controllers on XR session end.
- Support for Unity 2020.1.
- WebGLTemplates for Unity 2020.1.
- Debug project for Unity 2020.1.
- Fixes for JavaScript and Unity communication to support both Unity 2019.1 and Unity 2020.1.
- Added info about OpenUPM package in README.md.
- Invert Y axis for touchpad and thumbstick, so they'll work the same as other XR Providers in Unity.
- Added missing OnXRCapabilitiesUpdate to WebXRManager.
- Added missing controller inputs.
- Changed controller action names to enums.
- emscripten browser object pause/resume when switching sessions.
- Replaced Inline XR Session with window.rAF.
- Support for XR providers in the editor.
- Settings asset required and optional features in WebXR Session.
- Fixed compile and runtime errors, to make sure that WebGL build works again.
- Some XR SDK features, like the subsystems. Still not fully support the XR SDK.
- Info about WebXR Interactions in the README file.