InputSystem
InputSystem copied to clipboard
FIX: Trackedposedriver stops tracking (ISXB-1555)
Description
This PR fixes HUP bug ISXB-1555, where the TrackedPoseDriver will not update the position of a gameobject when no tracking action is assigned to the TrackedPoseDriver. This issue was caused by a change which allowed stopping the tracking when no device is connected. The fix is to not just disable the tracking once on setup of the TrackedPoseDriver, but adjust the tracking state whenever a device changed and potentially the tracking can be enabled again.
Testing status & QA
No testing yet.
Overall Product Risks
Please rate the potential complexity and halo effect from low to high for the reviewers. Note down potential risks to specific Editor branches if any.
- Complexity: Low
- Halo Effect: Low
Comments to reviewers
Please describe any additional information such as what to focus on, or historical info for the reviewers.
Checklist
Before review:
- [x] Changelog entry added.
- Explains the change in
Changed,Fixed,Addedsections. - For API change contains an example snippet and/or migration example.
- JIRA ticket linked, example (case %<ID>%). If it is a private issue, just add the case ID without a link.
- Jira port for the next release set as "Resolved".
- Explains the change in
- [ ] Tests added/changed, if applicable.
- Functional tests
Area_CanDoX,Area_CanDoX_EvenIfYIsTheCase,Area_WhenIDoX_AndYHappens_ThisIsTheResult. - Performance tests.
- Integration tests.
- Functional tests
- [ ] Docs for new/changed API's.
- Xmldoc cross references are set correctly.
- Added explanation how the API works.
- Usage code examples added.
- The manual is updated, if needed.
During merge:
- [ ] Commit message for squash-merge is prefixed with one of the list:
NEW: ___.FIX: ___.DOCS: ___.CHANGE: ___.RELEASE: 1.1.0-preview.3.
After merge:
- [ ] Create forward/backward port if needed. If you are blocked from creating a forward port now please add a task to ISX-1444.
I have no XR expertise or devices, will look for an XR QA to add
Codecov Report
Attention: Patch coverage is 92.00000% with 2 lines in your changes missing coverage. Please review.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| ...system/InputSystem/Plugins/XR/TrackedPoseDriver.cs | 92.00% | 2 Missing :warning: |
@@ Coverage Diff @@
## develop #2189 +/- ##
========================================
Coverage 67.80% 67.80%
========================================
Files 367 367
Lines 53513 53526 +13
========================================
+ Hits 36282 36291 +9
- Misses 17231 17235 +4
| Flag | Coverage Δ | |
|---|---|---|
| mac_2021.3_pkg | 5.41% <0.00%> (-0.01%) |
:arrow_down: |
| mac_2021.3_project | 70.43% <92.00%> (+0.01%) |
:arrow_up: |
| mac_2022.3_pkg | 5.19% <0.00%> (-0.01%) |
:arrow_down: |
| mac_2022.3_project | 65.29% <92.00%> (+<0.01%) |
:arrow_up: |
| mac_6000.0_pkg | 5.20% <0.00%> (-0.01%) |
:arrow_down: |
| mac_6000.0_project | 67.71% <92.00%> (-0.01%) |
:arrow_down: |
| mac_6000.1_pkg | 5.20% <0.00%> (-0.01%) |
:arrow_down: |
| mac_6000.1_project | 67.71% <92.00%> (-0.01%) |
:arrow_down: |
| mac_6000.2_pkg | 5.20% <0.00%> (-0.01%) |
:arrow_down: |
| mac_6000.2_project | 67.70% <92.00%> (-0.01%) |
:arrow_down: |
| mac_trunk_pkg | 5.20% <0.00%> (-0.01%) |
:arrow_down: |
| mac_trunk_project | 67.72% <92.00%> (+0.01%) |
:arrow_up: |
| win_2021.3_pkg | 5.42% <0.00%> (-0.01%) |
:arrow_down: |
| win_2021.3_project | 70.51% <92.00%> (+0.01%) |
:arrow_up: |
| win_2022.3_pkg | 5.19% <0.00%> (-0.01%) |
:arrow_down: |
| win_2022.3_project | 65.36% <92.00%> (-0.01%) |
:arrow_down: |
| win_6000.0_pkg | 5.20% <0.00%> (-0.01%) |
:arrow_down: |
| win_6000.0_project | 67.78% <92.00%> (+0.10%) |
:arrow_up: |
| win_6000.1_pkg | 5.20% <0.00%> (-0.01%) |
:arrow_down: |
| win_6000.1_project | 67.78% <92.00%> (-0.01%) |
:arrow_down: |
| win_6000.2_pkg | 5.20% <0.00%> (-0.01%) |
:arrow_down: |
| win_6000.2_project | 67.78% <92.00%> (-0.01%) |
:arrow_down: |
| win_trunk_pkg | 5.20% <0.00%> (-0.01%) |
:arrow_down: |
| win_trunk_project | 67.78% <92.00%> (+<0.01%) |
:arrow_up: |
Flags with carried forward coverage won't be shown. Click here to find out more.
| Files with missing lines | Coverage Δ | |
|---|---|---|
| ...system/InputSystem/Plugins/XR/TrackedPoseDriver.cs | 85.42% <92.00%> (+0.67%) |
:arrow_up: |
... and 5 files with indirect coverage changes
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
Added @evelinastaniulyte , she's on a hackweek right now but will be able to help us out next week
Seems like there are regressions in functional tests of tracked pose driver. I think these needs to be fixed.
yes, it caught a case where the device was added before the initialisation of the TrackedPoseDriver started, that's handled now.
Was any dev testing done? It’s not mentioned in the description
Was any dev testing done? It’s not mentioned in the description
No. I wasn't able to test on the device unfortunately. The repro project attached to the ticket was built windowed on my Quest2.
@ritamerkl When an app runs in the HMD as non-XR, it is usually because of missing XR Plugin Management settings. Could you try testing against the repro project in ISXB-155 after following the setup steps here?
@evelinastaniulyte In addition to Rita verifying the user's project, could you pick one of the XR templates to test with this? If so, then tell me which template you pick so that I can test with a different one.
@ritamerkl Do these code changes affect screen space input? If so then Evelina or I should test with AR Mobile Template.
@ritamerkl When an app runs in the HMD as non-XR, it is usually because of missing XR Plugin Management settings. Could you try testing against the repro project in ISXB-155 after following the setup steps here?
Unfortunately I do not have access to a Quest device today and I will be on PTO next week. Does someone in the XR team have the opportunity to test on a device? That would be awesome, since it's a HUP and great to land this rather sooner than later. Otherwise I can try it once I am back.
@ritamerkl Do these code changes affect screen space input? If so then Evelina or I should test with AR Mobile Template.
No, screen space input should not directly be affected.