InputSystem icon indicating copy to clipboard operation
InputSystem copied to clipboard

FIX: Trackedposedriver stops tracking (ISXB-1555)

Open ritamerkl opened this issue 6 months ago • 8 comments

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, Added sections.
    • 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".
  • [ ] Tests added/changed, if applicable.
    • Functional tests Area_CanDoX, Area_CanDoX_EvenIfYIsTheCase, Area_WhenIDoX_AndYHappens_ThisIsTheResult.
    • Performance tests.
    • Integration 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.

ritamerkl avatar Jun 03 '25 09:06 ritamerkl

I have no XR expertise or devices, will look for an XR QA to add

Pauliusd01 avatar Jun 03 '25 09:06 Pauliusd01

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.

codecov-github-com[bot] avatar Jun 03 '25 09:06 codecov-github-com[bot]

Added @evelinastaniulyte , she's on a hackweek right now but will be able to help us out next week

Pauliusd01 avatar Jun 03 '25 12:06 Pauliusd01

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.

ritamerkl avatar Jun 06 '25 11:06 ritamerkl

Was any dev testing done? It’s not mentioned in the description

evelinastaniulyte avatar Jun 09 '25 10:06 evelinastaniulyte

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 avatar Jun 10 '25 09:06 ritamerkl

@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.

DennisDeRykeUnity avatar Jun 12 '25 18:06 DennisDeRykeUnity

@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.

ritamerkl avatar Jun 13 '25 08:06 ritamerkl