Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    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

    7.3%
  2. Frequently

    20.0%
  3. Not Usually

    72.7%
  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:
    258
    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:
    12
    @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:
    258
    @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:
    12
    @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
    marybetholiver likes this.
  14. BTKeevan

    BTKeevan

    Joined:
    May 8, 2019
    Posts:
    12
    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:
    12
    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:
    12
    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:
    258
    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.
     
    BG5you and EllaDott like 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:
    258
    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:
    258
    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.
     
    kfireven likes this.
  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:
    258
    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:
    56
    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.
     
  39. Fern518

    Fern518

    Joined:
    Feb 3, 2021
    Posts:
    6
    I'm getting this same problem and nothing is working.
     
  40. VisualiseJack

    VisualiseJack

    Joined:
    Dec 19, 2019
    Posts:
    3
    This worked for me, a bit annoying work around but it works now.

    Unity 2022.1.1f1
    OpenXR Plugin 1.4.2
    Oculus Integration 47.0
    Input System 1.3.0
     
  41. 2Elemental

    2Elemental

    Joined:
    Jul 17, 2013
    Posts:
    12
    Any news on this topic? We are forced to used 2021.3.14+ because of the URP fix for HoloLens, but in upgrading we noticed that we now lose the ability to use motion controllers with MixedReality.OpenXR 1.6.0 and Unity.OpenXR 1.5.3.
    We are not able to move to Unity 2022, we need to stay on LTS as these are production applications. I sincerely hope this isn't yet again one of those issues that remains lingering for several months, as this is severely impacting how customers are perceiving stability of XR for business. Thanks in advance for your reply
     
  42. TechnicJB

    TechnicJB

    Joined:
    Jul 5, 2023
    Posts:
    1
    Since it only doesnt work in play mode but works fine in apk form on oculus, you can disable meta xr feature on both pc and oculus in the xr plugin settings or whatever. if you need help tell me
     
  43. alolamian2015

    alolamian2015

    Joined:
    Jul 15, 2023
    Posts:
    2
    Hello, just today I started with this problem, I couldn't get the controls to work in play. Nothing with the Toolkit, but with the oculus integration I do see that the buttons and triggers move, but the controls do not move in position
    I'm on unity version 21.3.27
    and openXR 1.7
    any idea what i can do?
     
  44. Aimbotstudio

    Aimbotstudio

    Joined:
    Jul 3, 2020
    Posts:
    2

    i am facing the same issue but in apk built how to deal with that?
     
  45. tylerkealy

    tylerkealy

    Joined:
    Oct 8, 2018
    Posts:
    5
    Just in case this helps anyone - I had similar issues where the controllers were tracking during Air Link, but not on build.

    If you're using a Quest Pro, try removing the "Meta Quest Touch Pro Controller Profile" from the Interaction Profile list and just use "Oculus Touch Pro Profile"

    I'm in 2022.3.7f1 and this worked for me...
     
    CreepyLamppost likes this.
  46. CreepyLamppost

    CreepyLamppost

    Joined:
    Jun 26, 2017
    Posts:
    20
    I was in Unity 2022.3.9 with OpenXR 1.8.2, Input System 1.7.0, OculusXR package 4.0.0 and this solved my problem. Removing Meta Quest Touch Pro Controller Profile from the Interaction Profile list in the OpenXR settings of the Project settings allowed my Quest 1 controllers to be tracked again.
     
  47. Zemekiss

    Zemekiss

    Joined:
    Mar 13, 2014
    Posts:
    1
    Adding onto this:

    I hit an issue with my Oculus Rift/Quest controllers would track fine in Unity 2020, but not in any version of Unity 2021 and above. After beating my head against it on and off for several days I finally noticed that I also had the issue with my devices being misnamed to some sort of ViveOpenXRViveSRanpial in the input debugger.

    That didn't seem right, so at a whim, I removed all Vive/Viveport specific software from this machine, and it worked! The headset now mounts as a Quest and the controllers track.

    I'm not sure how or why the Viveport software was breaking the headset identification, but there you go...
     
  48. npatsiouras_ntua

    npatsiouras_ntua

    Joined:
    Feb 11, 2023
    Posts:
    15
    FYI, the new Meta XR Core SDK package, the evolution of Oculus Integration, does not play well with the OpenXR plugin, whether the Meta features are enabled or not.

    Controllers are not found at all for me and disabled in scene. If I switch to Oculus plugin, it works.
    Also Project Validation is crashing with NullRef due to the Meta integration validation rules, even though debugging it, it should not be seeing NullRefs.
     
  49. Romainlieb

    Romainlieb

    Joined:
    Feb 6, 2023
    Posts:
    1
    Hello, when I play the project, it just play, not any error, sometimes it works and few moments after not. I don't have the project in play in my Oculus Quest 2. the problem come for no reason and impossible to know why

    Oculus XR Plugin : 4.0.0
    OpenXR Plugin : 1.8.2
    XR Interaction Toolkit : 2.4.3
    XR Plugin Management : 4.4.1

    Unity : 2022.3.4f1
     
  50. Charlesworth

    Charlesworth

    Joined:
    Oct 13, 2013
    Posts:
    1
    I saw this issue when updating my Unity version from 2021.3.14f1 to 2022.3.18f1. I didn't change the version of anything else (Interaction toolkit, OpenXR plugin, Oculus XR plugin, Meta XR Core SDK) apart from the engine. My action based controllers wouldn't work, but the device based would.

    To get the controller working again I either need to use "Oculus" plugin on the XR plug-in management, unistall the Meta XR Core SDK or unselect quest support in the OpenXR features groups. This leads me to believe that the issue may be when using the Meta XR core SDK when also using the OpenXR plugin provider, as is mentioned in earlier comments.
     
    Last edited: Jan 24, 2024