Skip to content

Merge XRI3 update into main#1083

Draft
keveleigh wants to merge 474 commits into
mainfrom
feature/XRI3
Draft

Merge XRI3 update into main#1083
keveleigh wants to merge 474 commits into
mainfrom
feature/XRI3

Conversation

@keveleigh
Copy link
Copy Markdown
Contributor

@keveleigh keveleigh commented Nov 24, 2025

Depends on #1074

Fixes #645

ms-RistoRK and others added 30 commits June 6, 2024 10:35
* Adding ControllerlessRigSmokeTest
* Making some interactor properties public so that they can be tested.
* Added InputTestUtilities.RigReference to facilitate testing.
For the goal of having a way to test the (soon to be) deprecated
pre-XRI3 rig, in this PR:
* Made a copy of the existing HandInteractionExample and named it
ObsoleteHandInteractionExample
* Updated scene description panel, it now looks like this:

![image](https://github.com/MixedRealityToolkit/MixedRealityToolkit-Unity/assets/84108471/07abaca1-d8bb-4e11-801c-6bc04a82272b)
* Added ObsoleteHandInteractionExample scene to default build settings.
@keveleigh keveleigh self-assigned this Nov 24, 2025
@keveleigh keveleigh linked an issue Nov 24, 2025 that may be closed by this pull request
32 tasks
* Re-add FindObjectUtility (and obsolete it)

* Update CHANGELOG.md

* Re-add BoundsHandleInteractable's migration path, as we haven't even had a 3.x release with it yet
* Update changelog versions

* Update update-versions.ps1
@keveleigh keveleigh added the Type: Release Management An issue tracking and used for managing a release. label Dec 11, 2025
keveleigh and others added 21 commits December 16, 2025 10:47
…itor) (#1057)

* Don't provide hand joints or input viz when unfocused (outside the editor)

* Create MRTKInputFocusManager and move input action focus handling into it

* Migrate HandModel to use the new event

* Also expose current focus state for HandsProvider

* Update MRTKInputFocusManager.cs

* Convert to using IReadOnlyBindableVariable

* Add MRTKFocusFeature

* Update to use new feature
Don't overwrite the actual tracking state

This introduced a bug in the XRI3 migration, because the old base class (ActionBasedController) read this value from the action every frame. The new base class (TrackedPoseDriver) only reads the events when the action state changes.
…993)

* Initial drop

* Iterate

* Add UNITY_OPENXR_PRESENT

* Update PlatformHandMeshVisualizer.cs

* Update PlatformHandMeshVisualizer.cs

* Docs update

* Move prefabs into own folder

Move back

* Update PlatformHandMeshVisualizer.cs

* Remove temp hand mesh prefabs

* Add hand mesh manager

* Iterate

* Iterate

* Update PlatformHandMeshVisualizer.cs

* Add AXR hand mesh support

stash

Update OpenXRHandsSubsystem.cs

* Update PlatformHandMeshVisualizer.cs

* Update PlatformHandMeshVisualizer.cs

Update PlatformHandMeshVisualizer.cs

* Update PlatformHandMeshVisualizer.cs

* Ensure the bounds are recalculated

Otherwise, they'll stay vaguely at the origin on some platforms, which causes Unity to clip them as you look away from the origin

Update PlatformHandMeshVisualizer.cs

* Ensure we transform from the playspace pose

* Update CHANGELOG.md

* Update PlatformHandMeshVisualizer.cs

* Update PlatformHandMeshVisualizer.cs

* Update shader to use wrist position for fade, if given

* Iterate back to sphere

* Iterate shaders again

Update RiggedHand-Main.mat

* Iterate shaders again

* Update to include outline

* Update material defaults

* Iterate to using Unity's API instead of Google's

Update PlatformHandMeshVisualizer.cs

* Update AndroidXRConfig.cs

* Update HandMeshVisualizer.cs

* Don't update more than once per frame

* Update PlatformHandMeshVisualizer.cs

* Revert "Iterate to using Unity's API instead of Google's"

This reverts commit 71c1f40.
This reverts commit d53c546.
This reverts commit 62d1781.
This reverts commit c196e26.

* Update PlatformHandMeshVisualizer.cs

* Use input action references for tracked state

* Only query the fallback if needed and we're focused

Some tracking state actions will be disabled based on the focus state, and we want to respect that

* Reapply "Iterate to using Unity's API instead of Google's"

This reverts commit d5e8004.

* Update Hands version

* Some optimizations and improvements

* Another iteration

* Revert "Reapply "Iterate to using Unity's API instead of Google's""

* Mark the hand mesh as dynamic

* Lock the Android XR package to 1.0.0 for now

* Iterate visualizers

* Revert "Lock the Android XR package to 1.0.0 for now"

This reverts commit 45c742f.

* Update PlatformHandMeshVisualizer.cs

* Update HandMeshVisualizer.cs

* Reapply "Reapply "Iterate to using Unity's API instead of Google's""

This reverts commit 43c86af.

* Update PlatformHandMeshVisualizer.cs

* Update PlatformHandMeshVisualizer.cs

* Fix stray mesh when untracked

* Don't overwrite the actual tracking state

This introduced a bug in the XRI3 migration, because the old base class (ActionBasedController) read this value from the action every frame. The new base class (TrackedPoseDriver) only reads the events when the action state changes.
Remove a few #if UNITY_2022_1_OR_NEWER
* Update MRTK Gaze Controller.prefab

* Create AndroidPermissionUtilities.cs

* Update FollowEyeGaze.cs

* Update EyeTrackingBasicSetupExample.unity

* Update EyeTrackingCursor.prefab

* Enable XR_EXT_eye_gaze_interaction

* Update AndroidPermissionUtilities.cs
…kedDeviceModel directly instead (#1090)

* Deprecate HasUIHover and HasUISelection and query the underlying TrackedDeviceModel directly instead

* Update InteractionDetector.cs

* Update tests

* Update CHANGELOG.md

* Remove System.Linq

* GetComponent -> TryGetComponent
* Update docs

* Update package manifests

* Remove #if UNITY_6000_0_OR_NEWER from code

* Update auto-updated Unity files

* Update to latest gitignore

From https://github.com/github/gitignore/blob/main/Unity.gitignore

* Update CHANGELOGs
Merge main into feature/XRI3
* Reserialize Button folder

* Reserialize ButtonBar folder

* Reserialize Dialog folder

* Reserialize Experimental folder

* Reserialize HandMenu folder

* Reserialize InputField folder

* Reserialize Keyboard folder

* Reserialize NearMenu folder

* Reserialize SeeItSayItLabel folder

* Reserialize Slider folder

* Reserialize ToggleIndicators folder

* Update CHANGELOG.md
Reserialize MRTKDevTemplate\Assets
* Create FontIconSetDefinition

* Add MRTK default asset

* Fix race condition where the deserialized value was being read before it was set

Now, we pass the font asset in explicitly from the serialization

* Update field naming and general formatting

* Fix issue where the wrong color param was being set

* Disable buttons if the icon has already been added

* Update to use Foldout instead of BeginFoldoutHeaderGroup

We don't need the extra menu stuff provided by BeginFoldoutHeaderGroup

* Update FontIconSetInspector.cs

* Update selected icons display for improved flow and usage

More icons on screen at once!

* Add FontIconSetDefinition to FontIconSet

* Fix asset not being marked dirty when changed

* Simplify CRUD method implementations

* Sort the added symbols by unicode value

* Update FontIconSetDefinition.cs

* Create dropdown for accessing icon set definition names

* Update Selawik-Semibold-MRTKIcons.asset

Update Selawik-Semibold-MRTKIcons.asset

Add more icon names

* Add migration path for FontIconSelector

* Update FontIconSelectorInspector.cs

* Add FontIconSelectorMigrationUtility

* Add FontIconSelectorTests

* Improve robustness

* Improvements

* Sort names

* Map MRTK_FluentIconSet

* Add more icon names

* More names!

* More names

* Sort the icons

* Robustness

* Improve migration

* Updates

* Robustness

* Update changelog and package version

* Update CHANGELOG.md

* Update FontIconSetInspector.cs

* Add change deferrals

* Update Action Button.prefab

Update CHANGELOG.md

* Update SampleSceneHandMenu.prefab
* Initial checkins

* org.mixedrealitytoolkit.core updates

* org.mixedrealitytoolkit.uxcore updates

* Reserialize scenes for Unity 6

* Add org.mixedrealitytoolkit.theming

* org.mixedrealitytoolkit.uxcomponents updates

* Update examples

* Update CHANGELOGs

Update package.json

* Update some icons

* Move ThemeBinding into UXCore

* Updates to org.mixedrealitytoolkit.theming

* Updates to org.mixedrealitytoolkit.uxcore

* Return ThemeDefinition to being a ScriptableObject

Easier sharing of schema

* Ensure invalid types are handled throughout the flow

* Fixed editing multiple FontIconSets at once

* Add cachedButtonOptions

* All the null checks!

* Invalidate failedTypes during AssemblyReloadEvents.afterAssemblyReload

---------

Co-authored-by: Finn Sinclair <finnnorth@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Branch: main Type: Release Management An issue tracking and used for managing a release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[XRI3] Update MRTK3 to support XRI 3.0

7 participants