Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on Dec 8, 2022, between 7 am & 7 pm EST, in the DOTS Dev Blitz Day 2022 - Q&A forum, Discord, and Unity3D Subreddit to learn more about DOTS directly from the Unity Developers.
    Dismiss Notice
  3. Have a look at our Games Focus blog post series which will show what Unity is doing for all game developers – now, next year, and in the future.
    Dismiss Notice

Question Controllers Not Tracking/Moving From Origin (OpenXR, Interaction Toolkit 2.0.2, Oculus Integration)

Discussion in 'XR Interaction Toolkit and Input' started by TJoE70, Jun 16, 2022.

?

During dev, is there often enough documentation to help you resolve issues that arise with inputs?

  1. Always

    11.1%
  2. Frequently

    16.7%
  3. Not Usually

    72.2%
  1. TJoE70

    TJoE70

    Joined:
    May 15, 2020
    Posts:
    6
    OpenXR controller transform not working - Unity Forum

    Like in the issue linked above, I am having the problem of my controllers not tracking (moving from their origin) and need to keep the Oculus asset 40.0 as I am developing using both the Steam Index and Oculus Quest 2. The interaction system was working as intended until the Oculus Integration 40.0 asset was installed. I have remade the project numerous times and have confirmed that the asset is the root cause of the issue. I found the issue initially testing on the Steam Index and confirmed the same behavior occurs on the Oculus Quest 2.

    I went by the standard setup as outlined for the XR Interaction Toolkit 2.0.2 (action-based) and I am using Unity 2021.3.4f1 for the project. Same issue occurred on Unity 2020.3.31f1 using the same packages/assets.

    Setup Links
    Installation | XR Interaction Toolkit | 2.0.2
    Samples | XR Interaction Toolkit | 2.0.2 (setup XRI Defaults)
    General setup | XR Interaction Toolkit | 2.0.2
    Locomotion | XR Interaction Toolkit | 2.0.2

    I have separate game objects for the locomotion system (which has added components for continuous turn/move), XR interaction manager, and input action manager (already has XRI default input actions under its Action Assets). I also confirmed that the inputs are still working for other interactions as the locomotion system still worked (i.e. registered inputs and moved player [XR Origin] accordingly) and I could also change the XR Origin>Tracking Origin Mode to Device to "lift" the devices off the floor then use the ray interactor on the controllers to grab a grab interactable object. The controllers also still rotate based on input; they just will not move from the origin/starting position. Does this bug apply? Unity Issue Tracker - XR Plugin Management - Oculus + disabled OpenXR w/ Oculus Touch Profile causes controller tracking issues. (unity3d.com)
     
    Last edited: Jun 16, 2022
  2. cooljkaz

    cooljkaz

    Joined:
    Dec 14, 2015
    Posts:
    5
    Having the same issue...
     
  3. EllaDott

    EllaDott

    Joined:
    May 4, 2017
    Posts:
    13
    Same issue here. I have also found out that:
    • if I uncheck the "OculusXR Feature" in XR Plugin Management (and then ignore all the popups that show up saying I should enable it) it starts working ok again. But obviously then none of the integration features work. This is clearly something to do with the Oculus Integration plugin.
    • if I use device based interactors instead of action based, they sort of work. I say sort of, because the objects I grab get into weird angles/rotations (like upside down and such) while the action based interactors moved and grabbed objects in a more polished manner.
     
  4. EllaDott

    EllaDott

    Joined:
    May 4, 2017
    Posts:
    13
    I have also verified that despite the transform not moving around in game, the actual inputs from the physical controllers are correct and show changes in position, button clicks are also registered (tested via input debugger and xr interaction debugger).
     
  5. mrekuc

    mrekuc

    Joined:
    Apr 17, 2009
    Posts:
    116
    I'm not sure if its the same issue but I upgraded from 2020.3.21 where everything worked to 2021.3.1 and Oculus link would not work at all on 2 different machines. So I upgraded to 2021.3.5 and link works now but I cannot get the oculus quest controllers to move at all with an action based rig. only a device based rigged. Did you ever find out anything as far as OpenXR and the controllers not working?
     
  6. EllaDott

    EllaDott

    Joined:
    May 4, 2017
    Posts:
    13
    Unfortunately not - it’s still not working for me. I tried everything I could think of.

    The only possibilities I could see are:
    - rewriting everything I have with OVR components instead of using the OpenXR rig (which will be a lot of work at this point) or
    - using device based rig which sucks and makes my game look unprofessional or
    - not develop for Oculus platform or
    - waiting for someone to fix this, which could be never. Given that device based rig works, the issue could be with the input manager, but I have no idea why the integration package would break it

    I will try downgrading unity version to see if that works though. I tried older versions but not that particular one. I’ll comment my findings.
     
    Last edited: Jun 29, 2022
    TJoE70 likes this.
  7. EllaDott

    EllaDott

    Joined:
    May 4, 2017
    Posts:
    13
    Ok. I tried a fresh new project with unity version 2020.3.21f1 and everything appears to work as expected. It has the same version of interaction toolkit (2.0.2) and the same version of oculus integration plugin (v41).

    I then upgraded the project to 2021.3.5f1 and the controllers stopped working (stuck to the floor, as described above). OP mentioned this not working on 2020.3.31f1 so it must have broken somewhere between 2020.3.21f1 and 2020.3.31f1.
     
    TJoE70 likes this.
  8. mrekuc

    mrekuc

    Joined:
    Apr 17, 2009
    Posts:
    116
    I tried 2022.1.7 and selecting Oculus Plugin still didn't work for the hands with an Action Based Rig, but I switched to OpenXR and included the Oculus Touch profile and the hands then worked with the Oculus Quest 2 controllers using an Action Based Rig on both 2022.1.7 and 2021.3.5 LTS
     
  9. EllaDott

    EllaDott

    Joined:
    May 4, 2017
    Posts:
    13
    You're saying you switched to it - so you weren't using OpenXR to begin with?
     
  10. VRDave_Unity

    VRDave_Unity

    Unity Technologies

    Joined:
    Nov 19, 2021
    Posts:
    162
    Hey @mrekuc,
    I will give this a try today and see if I can reproduce it on our end.

    If you still have a trimmed down version of the project exhibiting this behavior, can you submit a bug report? That would be super helpful for us. You can do so by going to
    Help > Report a Bug...
    in the Unity Editor. We triage bugs twice a week and tend to prioritize bugs like this.
     
  11. BTKeevan

    BTKeevan

    Joined:
    May 8, 2019
    Posts:
    11
    @OP Having a very similar problem. I'm using Unity 2021.3.4f1 and XRI Toolkit 2.0.2, developing on a Windows 11 desktop with my target platform being the Quest 2. When I hit Play in the editor, the headset tracks fine (with some minor jittering), but the controllers don't track at all. When I do Build & Run, and build directly onto the Quest, the hand controllers track just fine. I started another forum thread to ask for answers, and also asked on Stack Overflow.
     
  12. VRDave_Unity

    VRDave_Unity

    Unity Technologies

    Joined:
    Nov 19, 2021
    Posts:
    162
    @BTKeevan,
    Are you using the OpenXR plugin with the Oculus Touch Controller Profile added or just the Oculus plugin?
     
  13. BTKeevan

    BTKeevan

    Joined:
    May 8, 2019
    Posts:
    11
    @VRDave_Unity I've been selecting Oculus under plugin providers, because another weird thing that's been happening is that when I select OpenXR (with the Oculus Touch Controller Profile added) as the plugin provider, it doesn't track the headset or the controllers, and the scene doesn't even display in the headset.
     
    Last edited: Jul 7, 2022
  14. BTKeevan

    BTKeevan

    Joined:
    May 8, 2019
    Posts:
    11
    I tried downgrading from 2021.3.4f1 to 2020.2.21f1 to see if I could playtest in editor, hand controllers and all. Enough changes have been made to the project that I'm met with compiler errors and package errors and have to launch in safe mode. Reverted changes so the project's back in 2021.3.4f1.
     
  15. EllaDott

    EllaDott

    Joined:
    May 4, 2017
    Posts:
    13
    You need to do it manually I think - create a fresh project in older unity version, export contents of the old project and import it into the new one. Changing a version in the hub to a prior version has never led to a success for me.

    I'm trying to recreate the problem for a bug report now that I'm back from holidays. I also noticed there's a new LTS version now so will try to upgrade too.
     
  16. BTKeevan

    BTKeevan

    Joined:
    May 8, 2019
    Posts:
    11
    I can certainly try rolling back versions and remaking the project manually; albeit, I'm working as part of a small team and we're trying to meet soft deadlines in our production cycle, so it might cause a little bit of a hiccup, but at the same time we're only three weeks in and still in the prototyping phase so might not be a big hiccup at all.
     
  17. EllaDott

    EllaDott

    Joined:
    May 4, 2017
    Posts:
    13
    I feel you, I'm not very happy about this myself. My project is further down the line, so it's frustrating having to rebuild everything. I'm holding out hope that this might get fixed in time, but I really want to release in December so if this is what I have to do then that's what it is.

    2021.3.6f1 is broken too in case anyone is wondering. Additionally, I can't actually see XR Interaction Toolkit in Package manager when opening a fresh project in 2021.3.6f1 version, so I'm going to recreate the bug by upgrading to it from a functional version.
     
    TJoE70 likes this.
  18. EllaDott

    EllaDott

    Joined:
    May 4, 2017
    Posts:
    13
    Submitted under IN-9698
     
  19. elauber

    elauber

    Joined:
    Jul 1, 2021
    Posts:
    2
    I'm having the same problem. Can't see the red rays from the controller and no buttons work, but the thumb toggle will allow me to rotate my head.
     
  20. elauber

    elauber

    Joined:
    Jul 1, 2021
    Posts:
    2
    I got it to work. I turned off the oculus plugin in the XR Plug-in Management screen.
     
  21. BTKeevan

    BTKeevan

    Joined:
    May 8, 2019
    Posts:
    11
    Here's an interesting thing.

    I was looking in the Input Debugger window while playtesting in editor. In 2020.3.21f1, the headset and controllers are listed under Devices thusly:
    XRInputV1::Oculus::OculusQuest2:/OculusQuest2
    XRInputV1::Oculus::OculusTouchControllerLeft:/OculusTouchControllerLeft
    XRInputV1::Oculus::OculusTouchControllerRight:/OculusTouchControllerRight

    In 2021.3.4f1, the headset is listed under Devices as XRInputV1::Oculus::SteamVROpenXRoculus:/SteamVROpenXRoculus whereas the controllers aren't listed at all. The latter version of Unity also always opens Steam VR when trying to playtest in editor.

    I don't recall whether I did something in my project that has Steam VR always open up, or whether it's the version of Unity itself that always has Steam VR opening, but I'm beginning to wonder whether that extra step of going through Steam VR is causing the lack of hand controller tracking.

    In either case, hand controllers do track in the editor in 2020.3.21f1
     
  22. VRDave_Unity

    VRDave_Unity

    Unity Technologies

    Joined:
    Nov 19, 2021
    Posts:
    162
    Hey @BTKeevan
    That is definitely a strange device name. It appears as though the device is being concatenated through SteamVR? What is your OpenXR runtime set to? I would go into the
    Oculus Settings > General
    and make sure
    OpenXR Runtime
    has
    Set Oculus as active
    'enabled' (kind of enabled since it just greys out once it's set correctly).
    You might check the setting in
    XR Plug-in Management > OpenXR > Play Mode OpenXR Runtime
    is set to System Default:
    upload_2022-7-11_16-15-42.png
     
  23. EllaDott

    EllaDott

    Joined:
    May 4, 2017
    Posts:
    13
    Hi, my OpenXR Runtime is set to "Set Oculus as active" and has been already:
    upload_2022-7-21_23-9-12.png

    My play mode OpenXR runtime is set to System Default, although I have tried "Oculus OpenXR" too and it makes no difference.
    upload_2022-7-21_23-10-16.png

    As long as the integration package is in (the "OculusXR Feature" which is necessary for platform features on native Quest 2), it just doesn't work.

    Unfortunately, nobody has checked the IN-9698 yet.

    What can I do to get someone to look at it? Is there a way to boost the bug visibility?
     
    Last edited: Jul 21, 2022
  24. Kick_S

    Kick_S

    Joined:
    Oct 31, 2019
    Posts:
    2
    I've just tried creating a project on 2020.3.21f1 and upgrading it to a newer version until it breaks and found out that it breaks on the version 2020.3.25f1. So the latest working version is 2020.3.24f1.
     
    EllaDott likes this.
  25. Kick_S

    Kick_S

    Joined:
    Oct 31, 2019
    Posts:
    2
    After reading the release notes for 2020.3.25f1 I found out that they updated the OpenXR Plugin from version 1.2.8 to 1.3.0 so I was wondering if that's what's actually causing the problem. I've set up a new project in the latest 2021 LTS (2021.3.6f1) in which it didn't work previously and instead of adding the latest OpenXR Plugin package I've manually added OpenXR Plugin version 1.2.8 by selecting "add package by name..." and entering "com.unity.xr.openxr" as the name and "1.2.8" as the version and it worked! So the problem is not in the version of Unity but in the version of the OpenXR Plugin. Hope it helps you guys.
     
  26. EllaDott

    EllaDott

    Joined:
    May 4, 2017
    Posts:
    13
    Thank you SO MUCH this works like a charm! You have just saved me many nights of project rework.
     
  27. VRDave_Unity

    VRDave_Unity

    Unity Technologies

    Joined:
    Nov 19, 2021
    Posts:
    162
    Hey @EllaDott,
    The issue got hung up a bit, but we have a link to track the bug on our issue tracker now. I will attach this forum thread to the bug so we can respond once the issue is fixed in a newer version of the OpenXR plugin. Sorry for any inconvenience. I am glad Kick_S was able to find a workaround.
     
  28. abrown1982

    abrown1982

    Joined:
    Aug 22, 2022
    Posts:
    2
    Seems like "com.unity.xr.openxr" 1.2.8 is no longer available to install via Unity package manager, making the workaround impossible to do in this way unfortunately. Any timescale for the release of 1.5.2?
     
  29. matthew_gigante

    matthew_gigante

    Joined:
    Oct 2, 2017
    Posts:
    4
    To update anyone coming here for updates or looking for a solution, if you are using OpenXR in conjunction with Oculus Integration, using OpenXR version 1.5.3 or 1.2.8 fixes this issue.
     
    abrown1982 likes this.
  30. abrown1982

    abrown1982

    Joined:
    Aug 22, 2022
    Posts:
    2
    Yup, no longer any issues with 1.5.2+
     
    ututtjnyy likes this.
  31. sreal

    sreal

    Joined:
    Nov 1, 2022
    Posts:
    3
    I am on Unity 2021.3.2 and OpenXR plugin version 1.5.3 and this is broken. It's very strange---I am testing with two different Quest 2 devices. The controllers track fine with one of them, but they do not track/move with the other one (button presses are registered, though). The Quest 2 that works is older (bought around March 2021), and the one that doesn't work was ordered in the last few months. We just got a Quest Pro and same issue with those controllers.
     
  32. VRDave_Unity

    VRDave_Unity

    Unity Technologies

    Joined:
    Nov 19, 2021
    Posts:
    162
    Hey @sreal,
    Is the issue you are seeing with a built APK or are you using it through Oculus Link?
     
  33. GenGen

    GenGen

    Joined:
    Oct 10, 2014
    Posts:
    4
    Having the same issues listed above.

    I even created a new project with the VR core to see if there was something wrong with my work.

    Head tracks fine, controllers don't move at all.
    Unity version: 2022.1.2
    OpenXR plugin: 1.4.2
    Oculus plugin: 3.2.1

    Ive tried to use the standard XR rig which had the Tracked pose driver and I tried to recreate a rig with XR action based control using default profile. Nothing works.

    Easy to repeat, create a new unity project, set as VR core, try and pick up controllers.
     
  34. sreal

    sreal

    Joined:
    Nov 1, 2022
    Posts:
    3
    I am using it through Oculus Link.

    Now it is not working for the Quest that was working previously...though I am not sure what would have caused the change in functionality (no changes to how my scripts are interacting with input). I see through the Input Debug window that the controllers show up in the Disconnected section.

    EDIT: It turns out I had duplicate entries for tracking controller position/rotations in my Input Actions map (a generic XR controller entry and a specific Oculus Touch controller entry). Removing the Oculus ones fixed my issue. It is still a bit confusing to me because it consistently worked in that duplicated setup for several weeks, and I don't understand why it would work on one Quest and not another. But I am happy it works now!

    EDIT 2: This only fixed my issue for the old Quest 2 I was using. For the newer Quests, the controllers are not even showing up in the input debugger, and do not track/move OR register button presses.
     
    Last edited: Nov 8, 2022
  35. byteblorg

    byteblorg

    Joined:
    Dec 13, 2016
    Posts:
    10
    i did these to get it working(partially)

    1)press play with 'OculusXR Feature' disabled
    2) unity asks to enable OculusXR, i say 'Enable'
    3)Controllers show up and track normally

    if i enable OculusXR from before pressing Play, the controller will be stuck at 0,0,0.

    using Quest 1 via Air/Cable link Unity 2021.3.5f1
    latest versions of XR and Oculus packages.
     
  36. sreal

    sreal

    Joined:
    Nov 1, 2022
    Posts:
    3
    It works now on my Quest Pro. I did not make any changes to my project. Last week, I noticed that the latest version of the Oculus XR plugin supported by my editor version (2021.3.2) was 3.0.2. Manually editing the manifest.json file to use Oculus XR plugin 3.2.1 did not work (Unity did not even connect to the headset in Play Mode).

    When I created a project with editor version 2021.3.13, it supported the Oculus XR plugin version 3.2.1. The Quest Pro controllers worked right out of the box with this. I then confirmed they were not working with my 2021.3.2 project.

    I am not sure what changed in a week, but it is working now. Just want to document this if/when this problem resurfaces---make sure you check all plugin versions carefully and keep in mind that the version that shows up with a green release check mark in your Package Manager might not actually be the most recent release, just the most recent release supported by your editor.
     
  37. VRDave_Unity

    VRDave_Unity

    Unity Technologies

    Joined:
    Nov 19, 2021
    Posts:
    162
    Hey @sreal, @GenGen, @byteblorg ,
    You might try manually updating to Input System 1.4.4. When 1.4.0 was released, they introduced a new feature to block reading control bindings when in use by a composite control. This is great for a lot of standard games/titles, but has the unwanted side-effect of blocking some of the controls we setup up using our fallback composite (still counts as a composite binding). Alternatively, you could try to roll back to 1.3.0 and see if that remedies the issue.

    If none of these things work and you have disabled/removed OpenXR or at least removed the Oculus Touch Controller Profile in the OpenXR settings, please open a bug report with the simplified project and reproduction steps and file it against the Oculus plugin (in the editor go to Help > Report a Bug...). Once we can see a reproducible project on our end, we can better help figure out what is going on.
     
  38. Rob-Fireproof

    Rob-Fireproof

    Joined:
    Dec 18, 2012
    Posts:
    42
    This seems to be broken specifically on Quest Pro with all of the latest packages:

    Unity 2021.3.6f1
    OpenXR Plugin 1.5.3
    Oculus package 46
    Input system 1.4.2

    If I create a project using the VR Template, and run it in the editor using a link cable on my Quest Pro, it works fine.
    If I then pull in the Oculus package (v46), it enables the Oculus XR feature and controller tracking doesn't work on Quest Pro (Quest 2 is fine)
    If I disable the OculusXR feature (and comment out the code in OculusXRFeatureEnabler) then it works again.