Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[XRI3] Update MRTK3 to support XRI 3.0 #645

Open
28 of 32 tasks
AMollis opened this issue Feb 14, 2024 · 10 comments
Open
28 of 32 tasks

[XRI3] Update MRTK3 to support XRI 3.0 #645

AMollis opened this issue Feb 14, 2024 · 10 comments
Labels
Package: Core The Project core package is impacted by this issue. Package: Input The Project input package is impacted by this issue. Priority: High The priority of the issue is high. Type: Feature Request A request for a new feature that can be included with the next minor version release.

Comments

@AMollis
Copy link
Contributor

AMollis commented Feb 14, 2024

In an upcoming major release of MRTK3, packages will be updated to provide minimum support of XRI 3.0.

Work can be tracked by watching this branch:

With the new input changes from XRI3, the controller-based classes are now obsolete and have been deprecated to reflect this. The functionality of the controller classes can be found in a combination of the standard TrackedPoseDriver as well as the input properties on the individual interactors where that input makes sense.

MRTK3 will be updated to remove dependencies on the obsolete controller-based classes, and where needed, mark usages of the controller-based cases as obsolete.

The goals of this release are as follows:

Post release:

‼️ Using new XRI3 interactors in place of the existing MRTK3 interactors is not in scope for this release. Long term, it is desired that MRTK3 starts relying on XRI interactors instead of custom ones. This work is tracked via #67.

@shaynie
Copy link
Contributor

shaynie commented Mar 27, 2024

@ms-RistoRK will be looking at this upgrade for the next couple sprints.
Expected to require major release bump
Talked to Unity:
Namespaces have changed
process is to upgrade to pre-release 2, THEN upgrade to release and then not running the migration tool.

@bd-jimmy
Copy link

Would it make sense to upgrade the project to 2022 LTS and 2023 LTS first? I see some slight upgrades for those versions.

@shaynie
Copy link
Contributor

shaynie commented Apr 17, 2024

Created feature/XRI3 branch on 4/17/24.

@shaynie
Copy link
Contributor

shaynie commented Apr 24, 2024

Risto is currently working on a new MRTK rig prefab without controller behaviors.
Old prefab will remain but deprecated

@shaynie
Copy link
Contributor

shaynie commented Apr 24, 2024

Unity 6 tech preview to be released in June.

@AMollis
Copy link
Contributor Author

AMollis commented Apr 24, 2024

Before we ship this version....deprecated MRTK3 method/classes should be removed.

@shaynie
Copy link
Contributor

shaynie commented May 8, 2024

Holding in discussion until the XRI 3 PR is committed

@AMollis
Copy link
Contributor Author

AMollis commented May 17, 2024

Updated the "details" of the issue, so goals are clearer

@AMollis AMollis added Type: Feature Request A request for a new feature that can be included with the next minor version release. Package: Core The Project core package is impacted by this issue. Package: Input The Project input package is impacted by this issue. Priority: High The priority of the issue is high. labels May 22, 2024
@AMollis
Copy link
Contributor Author

AMollis commented Jun 21, 2024

XRI3 branch still has some usages of deprecated XRI classes

ObjectManipulator

  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.spatialmanipulation\ObjectManipulator\ObjectManipulator.cs(1065,17): warning CS0618: 'XRBaseInputInteractor.xrController' is obsolete: 'xrController has been deprecated in version 3.0.0.'
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.spatialmanipulation\ObjectManipulator\ObjectManipulator.cs(1065,54): warning CS0618: 'ActionBasedController' is obsolete: 'ActionBasedController has been deprecated in version 3.0.0. Its functionality has been distributed into different components.'

RiggedHandMeshVisualizer

  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\Visualizers\RiggedHandVisualizer\RiggedHandMeshVisualizer.cs(77,17): warning CS0618: 'XRBaseController' is obsolete: 'XRBaseController has been deprecated in version 3.0.0. Its functionality has been distributed into different components.'

FlatScreenModeDetector

  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\InteractionModes\FlatScreenModeDetector.cs(34,13): warning CS0618: 'FlatScreenModeDetector.controllerLookup' is obsolete: 'Deprecated, please use MixedReality.Toolkit.Input.TrackedPoseDriverLookup instead.'
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\InteractionModes\FlatScreenModeDetector.cs(34,47): warning CS0618: 'ControllerLookup' is obsolete: 'Deprecated, please use MixedReality.Toolkit.Input.TrackedPoseDriverLookup instead.'

InteractionModeManager

  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\InteractionModes\InteractionModeManager.cs(74,87): warning CS0618: 'XRController' is obsolete: 'XRController has been deprecated in version 3.0.0. Its functionality has been distributed into different components.'
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\InteractionModes\InteractionModeManager.cs(74,22): warning CS0618: 'XRController' is obsolete: 'XRController has been deprecated in version 3.0.0. Its functionality has been distributed into different components.'
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\InteractionModes\InteractionModeManager.cs(215,36): warning CS0618: 'XRBaseInputInteractor.xrController' is obsolete: 'xrController has been deprecated in version 3.0.0.'
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\InteractionModes\InteractionModeManager.cs(252,36): warning CS0618: 'XRBaseInputInteractor.xrController' is obsolete: 'xrController has been deprecated in version 3.0.0.'

HandJointInteractor

  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\Interactors\HandJointInteractor.cs(35,53): warning CS0618: 'XRBaseInputInteractor.xrController' is obsolete: 'xrController has been deprecated in version 3.0.0.'
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\Interactors\HandJointInteractor.cs(35,69): warning CS0612: 'ArticulatedHandController' is obsolete
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\Interactors\HandJointInteractor.cs(52,43): warning CS0618: 'XRBaseInputInteractor.xrController' is obsolete: 'xrController has been deprecated in version 3.0.0.'

MRTKRayInteractor

  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\Interactors\Ray\MRTKRayInteractor.cs(53,53): warning CS0618: 'XRBaseInputInteractor.isUISelectActive' is obsolete: 'isUISelectActive has been deprecated in version 3.0.0. Use a serialized XRInputButtonProvider to read button input instead.'

@AMollis
Copy link
Contributor Author

AMollis commented Jun 29, 2024

XRI3 branch still has some usages of deprecated XRI classes

ObjectManipulator

  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.spatialmanipulation\ObjectManipulator\ObjectManipulator.cs(1065,17): warning CS0618: 'XRBaseInputInteractor.xrController' is obsolete: 'xrController has been deprecated in version 3.0.0.'
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.spatialmanipulation\ObjectManipulator\ObjectManipulator.cs(1065,54): warning CS0618: 'ActionBasedController' is obsolete: 'ActionBasedController has been deprecated in version 3.0.0. Its functionality has been distributed into different components.'

RiggedHandMeshVisualizer

  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\Visualizers\RiggedHandVisualizer\RiggedHandMeshVisualizer.cs(77,17): warning CS0618: 'XRBaseController' is obsolete: 'XRBaseController has been deprecated in version 3.0.0. Its functionality has been distributed into different components.'

FlatScreenModeDetector

  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\InteractionModes\FlatScreenModeDetector.cs(34,13): warning CS0618: 'FlatScreenModeDetector.controllerLookup' is obsolete: 'Deprecated, please use MixedReality.Toolkit.Input.TrackedPoseDriverLookup instead.'
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\InteractionModes\FlatScreenModeDetector.cs(34,47): warning CS0618: 'ControllerLookup' is obsolete: 'Deprecated, please use MixedReality.Toolkit.Input.TrackedPoseDriverLookup instead.'

InteractionModeManager

  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\InteractionModes\InteractionModeManager.cs(74,87): warning CS0618: 'XRController' is obsolete: 'XRController has been deprecated in version 3.0.0. Its functionality has been distributed into different components.'
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\InteractionModes\InteractionModeManager.cs(74,22): warning CS0618: 'XRController' is obsolete: 'XRController has been deprecated in version 3.0.0. Its functionality has been distributed into different components.'
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\InteractionModes\InteractionModeManager.cs(215,36): warning CS0618: 'XRBaseInputInteractor.xrController' is obsolete: 'xrController has been deprecated in version 3.0.0.'
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\InteractionModes\InteractionModeManager.cs(252,36): warning CS0618: 'XRBaseInputInteractor.xrController' is obsolete: 'xrController has been deprecated in version 3.0.0.'

HandJointInteractor

  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\Interactors\HandJointInteractor.cs(35,53): warning CS0618: 'XRBaseInputInteractor.xrController' is obsolete: 'xrController has been deprecated in version 3.0.0.'
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\Interactors\HandJointInteractor.cs(35,69): warning CS0612: 'ArticulatedHandController' is obsolete
  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\Interactors\HandJointInteractor.cs(52,43): warning CS0618: 'XRBaseInputInteractor.xrController' is obsolete: 'xrController has been deprecated in version 3.0.0.'

MRTKRayInteractor

  • C:\dev\repos\mrtk3-atm\org.mixedrealitytoolkit.input\Interactors\Ray\MRTKRayInteractor.cs(53,53): warning CS0618: 'XRBaseInputInteractor.isUISelectActive' is obsolete: 'isUISelectActive has been deprecated in version 3.0.0. Use a serialized XRInputButtonProvider to read button input instead.'

These issues have been resolved in the XRI3 feature branch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Package: Core The Project core package is impacted by this issue. Package: Input The Project input package is impacted by this issue. Priority: High The priority of the issue is high. Type: Feature Request A request for a new feature that can be included with the next minor version release.
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

8 participants