MixedRealityToolkit-Unity icon indicating copy to clipboard operation
MixedRealityToolkit-Unity copied to clipboard

Enforce 2021.3 as minimum version, upgrade sample project to 2021.3.16f1

Open Zee2 opened this issue 3 years ago • 5 comments

Overview

As 2020 reaches the end of its supported lifespan, it's time to move our minimum version to 2021. The timing of this is especially critical as we move towards GA. This PR removes support for 2020.x from MRTK3, in exchange for a large number of improvements from 2021, including

  • Modern C# syntax and versions, including
    • Default-impl interfaces
    • new()
    • Lots more!
  • New features from UIElements that are necessary for the upcoming EditorTools/MVVM system
  • Significant performance enhancements for the Unity Editor
  • Support for ARFoundation 5.0+ which resolves several long-standing headaches with MRTK3
  • Upgrade to the new asset serialization format which is required for proper prefab override management with [SerializedReference]s in 2021
  • And more that I'm forgetting right now :)

Changes

  • Bumps minimum Unity version of all MRTK3 packages to 2021.3
  • Upgrades sample project Unity version to 2021.3.16f1
  • Upgrades ARFoundation version to 5.0.3
  • Removes deprecated ARSessionOrigin from XR Rig
  • Reserializes many assets to the new serialization format
  • Regenerated the OpenXR Package Settings asset because the validator was yelling at me about duplicate entries.\
  • Resolves 11153

Known issues

  • ARFoundation 5 complains when you it's installed, there's an XROrigin present, and you don't also have both ARCameraBackground and ARCameraManager present on the main camera. This is a little silly.
    • If you add those two scripts, it then complains you have no valid XRCameraSubsystem when you're not running on a phone, which is also silly.

Additional context

@keveleigh , now that we're on 2021.3.16f1, can we bump our CI runners to that version too? We'll need to when we add tests to validate the Animator/Playables engine fix that just landed.

Verification

All tests should pass. @Clandguth should also build-call this PR specifically as there's risk of regressions from ARFoundation upgrades as well as engine changes.

Zee2 avatar Jan 05 '23 04:01 Zee2

@Zee2 Wanted the bugs directly in the PR

Controller visualization appearing on Hololens 2 after starting a recording

Describe the bug

A single controller appeared on the users right hand after the user started recording behavior for another issue. User did not see the controller visualization before starting the recording

To reproduce

  1. Checkout the 'Enforce 2021.3 as minimum version, upgrade sample project to 2021.3.16f1' PR https://github.com/microsoft/MixedRealityToolkit-Unity/pull/11345 from Zee2:2021_upgrade
  2. Build Example scenes and load them onto device
  3. Launch MRT3Sample, and start recording while in any scene
  4. Observe controller appears over the users right hand
  5. 1/3 reproduction rate when closing and re-launching the application

Expected behavior

No controller is shown on HL2

Video

https://user-images.githubusercontent.com/110259320/210881563-c1d3cb89-f518-429c-9e23-ac0ccf55aa68.mp4

Your setup (please complete the following information)

  • Unity Version [2021.3.16f1]
  • MRTK Version [3.13]

Target platform (please complete the following information)

  • HoloLens 2

Additional Info/Data

Clandguth avatar Jan 05 '23 21:01 Clandguth

Hand-Rays do not properly interact with the piano in the Hand Interaction Example

Describe the bug

The piano in Hand Interaction Example does not play an animation when selected with Hand-Rays, but will still play sound. The hand cursor interacts as it normally would.

To reproduce

  1. Checkout the 'Enforce 2021.3 as minimum version, upgrade sample project to 2021.3.16f1' PR #11345 from Zee2:2021_upgrade
  2. Build Example scenes and load them onto device
  3. Launch MRT3Sample and navigate to the Hand Interaction Example
  4. Interact with the piano towards the bottom of the scene
  5. Observe Hand-Rays plays the intended sound but does not play the animation

Expected behavior

Hand cursors and Hand-Rays play sound and animates the key as expected

Video

https://user-images.githubusercontent.com/110259320/210880222-1b2a54c8-6ef1-45a6-96ee-46aaf3ec4193.mp4

Your setup (please complete the following information)

  • Unity Version [2021.3.16f1]
  • MRTK Version [3.13]

Target platform (please complete the following information)

  • HoloLens 2

Clandguth avatar Jan 05 '23 21:01 Clandguth

@davidkline-ms fixed min version in EditorProjectUtilities

Zee2 avatar Jan 06 '23 23:01 Zee2

Hand-Rays do not properly interact with the piano in the Hand Interaction Example

@Clandguth this is actually a serious bug and is present in pre.13 and the main branch, for 2020. See #11383 .

Zee2 avatar Jan 18 '23 07:01 Zee2

@Zee2 Wanted the bugs directly in the PR

Controller visualization appearing on Hololens 2 after starting a recording

This was thankfully a minor configuration error (the regenerated OpenXR settings assets were missing the hand tracking features, and therefor joint data was missing and MRTK thought the hands were controllers!) Fixed now.

Zee2 avatar Jan 18 '23 07:01 Zee2

Work was done with this PR

  • https://github.com/microsoft/MixedRealityToolkit-Unity/pull/11465

AMollis avatar Apr 21 '23 19:04 AMollis