Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
[pre.12] - 2022-10-21 - 2186746
The format is based on Keep a Changelog. The full release announcement is available here under the releases category of the discussions tab in our repo.
Added
- Added single-arg overload to
ForceSetToggled
for easier use with UnityEvents (#11028) - Added
PoseSourceDriver
(#11047) - Added planar projection support to
UGUIInputAdapterDraggable
that works across both graphic and physics raycasters (#11051) - Re-added support for pausing tests during debugging (#11053)
- Added missing ARFoundation dependency to
mrtk.input
(#11070) - Added describable object features to the Accessibility package (WIP) (#11021)
- Added definitions for the future text-to-speech subsystem (#11076)
- Added
TransformPose
andInverseTransformPose
helpers toPlayspaceUtilities
for properly transforming poses into and out of OpenXR scene-origin-space (#11035) - Ported the remaining missing MRTK2 constraints; note, these will be deprecated soon and replaced with a new, unified system for computing constraints, solvers, and elastics under one "roof"! (#11085)
- Added validation rules recommending a glTF importer package (#11089)
- Added new sample scene demonstrating recently-added legacy MRTKv2 constraints (#11104)
Changed
- Reticle improvements (#11022)
- Separated reticle logic from line visual logic
- Added support for swappable reticle icons on the default reticle prefab
- Added support for showing reticle on non-interactable surfaces
- Removed
IMRTKInteractorVisual
(#11043) - Made
SimulatedEyeGazeDevice
public so developers can check for its existence if necessary (#11040) - Updated VisualProfiler dependency to 2.2.0 (#11048)
- Removed custom raycast behavior from
PlatformAwarePhysicsRaycaster
(#11051) - ...which optimized the performance of
PlatformAwarePhysicsRaycaster
- Removed projection logic from
CanvasProxyInteractor
(#11051) UGUIInputAdapterDraggable
now implementsIInitializePotentialDragHandler
, allowing us to disable drag-thresholding (#11051)- Updated XR Core Utils dependency to
2.1.0
(#11054) - Removed unused
DisabledInteractorTypes
collection fromMRTKBaseInteractable
(#11061) - Prefab breaking: Simplified NearMenu and HandMenu prefabs to use only a single modular prefab (#11030)
- See Action Item above for migration, .zip attached
- Breaking-ish: Removed environment package (#11069)
- Reorganized interactor visual components to allow future use of
IXRCustomReticleProvider
(#11066) - Breaking: Refactored the XR Rig and
PlayspaceUtilities
to properly take user's height relative to the floor into account; user's head will now be placed at their proper absolute height, based on either Guardian/Chaperone floor calibration or a fallback height value specified in theXROrigin
(#11035) - Deprecated
PlayspaceUtilities.ReferenceTransform
, seePlayspaceUtilities.XROrigin.CameraFloorOffsetObject
andPlayspaceUtilities.TransformPose(Pose pose)
(#11035) - Adjusted all sample scene content to be placed at head height (#11035)
- Removed extraneous ProxyInteractors from sample scenes (#11035)
- Refactored input simulator to use
Pose
structs for internally managing device and HMD poses (#11035) - Changed
SqueezableBoxVisuals
to allow no box renderer (#11087) - Moved some leftover scripts from
uxcomponents
touxcore
(#11090)
Fixed
- Fixed incorrect backplate material on the new HandMenu/NearMenu prefabs (#11009)
- Fixed incorrect corner radii on the new HandMenu/NearMenu prefabs (#11012)
- Fixed ToggleCollection behavior when a toggle slot is null (#11034)
- Fixed incorrect gazepinch manipulation calculations causing wonky slider + rotation manipulations (#11056)
- Fixed gnarly bug with FuzzyGaze target selection + testing (#11059)
- Fixed wonky mouse interactions when dragging sliders with orthographic UI cameras by overhauling 2D->3D mouse projection logic (#11051)
- Fixed the first select/pinch not firing (#11060)
- Fixed various spelling/linting/formatting issues (#11072)
- Fixed Ray reticles having the incorrect orientation relative to the surface normal when the user selects (#11074)
- Fixed incorrect manipulations with ObjectManipulator when the HostTransform is changed at runtime (#11075)
- Fixed LoFiAudio sample scene (#11035)
- Fixed SpatialMapping example scene (#11035)
- Fixed wonky FuzzyGaze example scene materials (#11035)
- Fixed incorrect coordinate space transformations in
PolyfillHandRayPoseSource
(#11035) - Fixed incorrect coordinate space transformations in
ArticulatedHandController
(#11035) - Fixed warning spam from
ReticleMagnetism
regarding closest-point checks on concave meshes. Thanks @camnewnham! (#11096) - Fixed the controller model loader endlessly spamming warnings when on a platform that doesn't support controller models (#11068)
- Fixed bugs with how constraints were computed for ObjectManipulators with off-center host transforms (#11086)
Known issues
- Ray reticles and proximity lights can still jitter in some contexts due to update order issues
Breaking changes
- The MRTK XR rig has been significantly changed; the user's head will now be at their true, floor-calibrated height, or 1.6m on platforms that don't offer floor-height-calibration.
- The content in your application will either need to be raised to head height, or if true head height is not desired for your application, select Device-relative mode in the
XROrigin
's Tracking Origin Mode and set the vertical offset to zero meters.
- The content in your application will either need to be raised to head height, or if true head height is not desired for your application, select Device-relative mode in the
- We've simplified the hand menu and near menu prefabs; we don't officially offer individual prefabs for each dimension of menu. This removal might break some prefab references, so check out the
OldPrefabs.zip
attached below if you need copies of the old prefabs to fix your references. - We've removed the environment package. We recommend using Unity's built-in support for playspace boundary queries instead, as well as ARFoundation's
ARMeshManager
for scene reconstruction.