Steps to reproduce:
1. Open the attached user's project "VR Test 3.zip"
2. Open the modified "HandsDemoScene.unity" Scene
3. Enable Meta Link with Quest 3 and enter Play Mode
4. Use the controllers a bit with the UI ScrollView GameObject
5. Lay the controllers down and use the handtracking for a while, touch your fingers with our thumb to generate input events
6. Repeat step 4 and 5 until the errors start appearing
Expected results: No exception is printed
Actual results: "IndexOutOfRangeException: Index was outside the bounds of the array" exception is printed when swapping between XRHands and Controllers after interacting with UIToolkit objects
Reproducible with: XRIT 2.6.3 - 3.0.5 (2022.3.42f1, 6000.0.15f1)
Could not test on 2021.3.42f1 due to project errors after downgrading
Reproducible with these devices
VLNQA00609 - Oculus Quest 3 (Quest 3), CPU: Snapdragon XR2 Gen 2 (SM8550), GPU: Adreno 740, OS: 12
VLNQA00415 - Oculus Quest 2 (Quest 2), CPU: Snapdragon XR2, GPU: Adreno 650, OS: 12
Notes:
-According to the user: The pointerId that is used by the eventsystem and the ui is constantly increasing, probalby when the hands or the controllers are detected new. And when the pointerId reaches 32, the errorspam begins.
-Exception:
IndexOutOfRangeException: Index was outside the bounds of the array.
UnityEngine.UIElements.PointerCaptureHelper.GetCapturingElement (UnityEngine.UIElements.IPanel panel, System.Int32 pointerId) (at <da837e40d79248fa84e5fd0424695f60>:0)
UnityEngine.UIElements.PanelRaycaster.Raycast (UnityEngine.EventSystems.PointerEventData eventData, System.Collections.Generic.List`1[T] resultAppendList) (at ./Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/UIElements/PanelRaycaster.cs:95)
UnityEngine.EventSystems.EventSystem.RaycastAll (UnityEngine.EventSystems.PointerEventData eventData, System.Collections.Generic.List`1[T] raycastResults) (at ./Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:276)
UnityEngine.XR.Interaction.Toolkit.UI.UIInputModule.PerformRaycast (UnityEngine.EventSystems.PointerEventData eventData) (at ./Library/PackageCache/com.unity.xr.interaction.toolkit@3.0.5/Runtime/UI/UIInputModule.cs:308)
UnityEngine.XR.Interaction.Toolkit.UI.UIInputModule.ProcessTrackedDevice (UnityEngine.XR.Interaction.Toolkit.UI.TrackedDeviceModel& deviceState, System.Boolean force) (at ./Library/PackageCache/com.unity.xr.interaction.toolkit@3.0.5/Runtime/UI/UIInputModule.cs:641)
UnityEngine.XR.Interaction.Toolkit.UI.XRUIInputModule.DoProcess () (at ./Library/PackageCache/com.unity.xr.interaction.toolkit@3.0.5/Runtime/UI/XRUIInputModule.cs:562)
UnityEngine.XR.Interaction.Toolkit.UI.UIInputModule.Update () (at ./Library/PackageCache/com.unity.xr.interaction.toolkit@3.0.5/Runtime/UI/UIInputModule.cs:147)