Search Unity

Official XR Interaction Toolkit 2.3.0 and updated Example project out of preview

Discussion in 'XR Interaction Toolkit and Input' started by VRDave_Unity, Mar 16, 2023.

  1. VRDave_Unity

    VRDave_Unity

    Unity Technologies

    Joined:
    Nov 19, 2021
    Posts:
    277
    We are pleased to announce that XRI 2.3.0 is out of preview and is now available to download along with the much-awaited update to the XRI Example project on GitHub. We are currently working on back-porting this latest version of the package to older versions of the Unity Editor, but in the meantime, you can install it manually using the steps outlined in documentation. We have also posted on the official Unity blog about the latest updates and improvements, so please check it out for more information.

    What’s new
    With the XR Interaction Toolkit version 2.3.0 comes the most requested features yet. The main features in this release include Poke and Gaze Interactors, Interaction Groups, Snap Volumes, Device Simulator usability improvements, and an Interaction Affordance System, which allows users to easily build high-performance interaction feedback indicators (visual, audio, etc).

    For more about what's new, please refer to the What's new in 2.3.0 page of our documentation.

    For a full list of changes, refer to the Changelog in our documentation.

    As a reminder, many of the changes and fixes were a direct result of feedback we received from the forum and from reported bugs. Thank you to everyone who took the time to make these issues known to the team and for your feedback!

    Roadmap & what's next
    Use the public roadmap to see our latest plans, upvote existing feature requests, and/or submit new feature requests. We are currently working on a patch release for 2.3.1 to address some minor issues that were found over the past few weeks. We are also working on 2.4.0-pre.1 to bring a couple of new minor features to the toolkit, including:

    • A new consolidated version of the main XR Origin prefab that contains both hands and controllers to make it easier to build for both input modalities and switch dynamically between them.
    • Split interactions for the gaze interactor.
    • A new interaction focus state.
    • Improvements and fixes for the poke interactor and poke filter.
     
  2. EricHa_ADBE

    EricHa_ADBE

    Joined:
    Jan 10, 2023
    Posts:
    1
    Anybody else having issues with having hands showing up in HandsDemoScene?

    Everything else in the scene works - I can push and manipulate everything properly in the scene. I can also see raycasts coming out of where my hands should be. However, I don't actually see my hands rendered in the scene.

    - Unity 2022.2.10f1 (Apple Silicon)
    - XR Hands 1.1.0-pre.3
    - XRI Toolkit 2.3.0
    - XR Plugin Management 4.3.3
     
  3. VRDave_Unity

    VRDave_Unity

    Unity Technologies

    Joined:
    Nov 19, 2021
    Posts:
    277
  4. VampireLestat

    VampireLestat

    Joined:
    Oct 15, 2016
    Posts:
    14
    I had a few issues as well, but was able to resolve them. The prefabs weren't set up correctly when I updated to 2.3.0 and I had to do a few things, like setting the prefabs in the inspector for the hands and turning off the velocity view (which is likely the raycasts you are seeing). There were also several issues with materials having a broken shader, so I switched them to use the Standard with specular setup.
     
  5. VampireLestat

    VampireLestat

    Joined:
    Oct 15, 2016
    Posts:
    14
    Something that should probably be in the upgrade instructions is to delete any samples from the older versions. Because samples are installed under a folder with the version number, it won't overwrite the old version samples and then you'll have duplicate GUIDs.

    The new PokeInteractor and hands samples are a nice addition and a great step in the right direction! One thing that I did notice was that if you rotate the numpad to be vertical (like it was on a door that you had to enter a code to unlock), then the poke interaction is problematic. If you poke directly in front of you, your index finger curls downward just as you are getting to the buttons, making it where you actually select the button below the one you aim for. If you move your head to one side so you can see your hand from an angle, it doesn't curve nearly as much and you can usually hit the right number or at least get much closer. I took a video of this (on Quest2 w/ Link) if you can't repro it on your end.
     
  6. VRDave_Unity

    VRDave_Unity

    Unity Technologies

    Joined:
    Nov 19, 2021
    Posts:
    277
    Hey @VampireLestat,
    Thanks for all the feedback. We have a fix for the shader import issue that you noticed with the hands package going out very soon. One of the things we see is that the material/shader comes in looking broken because it's being imported into a URP project and the material needs to be upgraded using the standard render pipeline URP upgrade tool under the Edit menu:
    upload_2023-3-16_13-19-49.png
    If you are seeing broken materials on a project using Built-in Render Pipeline, or the materials still show up pink after the upgrade, please let us know so we can get it fixed properly.

    It's odd that you were having issues with importing the samples over the top of the old ones. That's our recommended approach, as the package importer will look for and replace GUIDs that already exist, along with deleting the individual version folder for the older samples. If you are seeing something differently, please let us know what version of the Editor you are seeing this on so we can get it patched up. :)

    Thanks for the heads up on the numpad. I'll rotate it and give it a shot on our end and see if we can reproduce what you are seeing. From what you can tell, is the hand tracking causing the curling, or something else with the setup?

    Thanks again for all the feedback, it's always extremely helpful!
     
  7. VampireLestat

    VampireLestat

    Joined:
    Oct 15, 2016
    Posts:
    14
    My project is using the built-in renderer, so it was definitely not the URP materials issue that I've seen before in some of my SRP projects.

    I'll have to test again with importing the new samples. I had moved them into a different folder, so maybe it is looking for them specifically in the original install folder?

    I can't tell yet what is causing the curling for sure, but it seems likely that it is the hand tracking. When I have the numpad directly in front of my view and reach my finger towards it, I get the curling just before I reach the buttons. Here you can see from the Scene view how it is fairly straight and then curls as I get closer.
    upload_2023-3-16_21-23-16.png upload_2023-3-16_21-21-14.png

    But if I come at the button from the side, so I can see my full finger, it remains straight - although every once in a while it puts out two fingers, like a peace sign, instead of just pointing with one.

    upload_2023-3-16_21-33-19.png

    But as I play around a bit more away from the numpad, it seems like it is likely happening as my hand reaches a distance from the HMD and that just happened to coincide with the numpad distance. When I just point away from me in mid air, I start seeing a similar behavior, like it is starting to assume a fist. Without the numpad there, it's just harder to notice the effect since your finger isn't very visible but the buttons on the numpad still were.

    Happy to help, glad to see the way this new API is shaping up.
     
  8. VampireLestat

    VampireLestat

    Joined:
    Oct 15, 2016
    Posts:
    14
    UPDATE: Just after sending this, I realized I could test in the Home environment in the Quest and it looks like the fingers are curling there in the exact same way, so it is the hand tracking data coming in, not something coming from your code.
     
  9. Doc_Martins

    Doc_Martins

    Joined:
    Jun 1, 2020
    Posts:
    14
    A big thanks to the team for the great work. The main demo is really neat and now includes a lot of concrete examples (like the hammer, locked doors and drawers) like the ones I had previously built by myself for students. There are a lot of features I still didn't try out, but it's already big step-up from the previous version.
     
    Shizola and VRDave_Unity like this.
  10. DPMannoLudzuweit

    DPMannoLudzuweit

    Joined:
    Nov 7, 2022
    Posts:
    2
    Thanks for the great work! When ca we expect a PackageManager Integration? It's a little bit difficult to find the project :)
     
  11. NNighteyes

    NNighteyes

    Joined:
    Jul 9, 2017
    Posts:
    5
    Does it support finger tracking for index controllers and oculus?

    EDIT: The official Unity plugin XR hands works and provides index controller finger tracking
     
    Last edited: Mar 29, 2023
  12. bmdenny

    bmdenny

    Joined:
    Jul 3, 2012
    Posts:
    8
    Great work Dave and team. Loving the new example and samples. XR Hands is awesome.
     
    VRDave_Unity likes this.
  13. zyndata

    zyndata

    Joined:
    Feb 15, 2015
    Posts:
    6
    Anyone else have problem using these two scripts from XR starter assets?
    ActionBasedControllerManager
    DynamicMoveProvider


    Create empty project, import XR Interaction Toolkit 2.3.0 or 2.3.1
    Try to add ActionBasedControllerManager DynamicMoveProvider scripts.

    Reimport work only on local PC, if you use source control every person have to reimport manually on their computer.
     

    Attached Files:

  14. garrido86

    garrido86

    Joined:
    Dec 17, 2013
    Posts:
    233
    Congrats to the team for the new release!
     
    VRDave_Unity likes this.
  15. VeryBadPenny

    VeryBadPenny

    Joined:
    Jun 3, 2018
    Posts:
    40
    Really nice demo scene, thank you to the devs for setting this up.

    I'm trying to make a Quest game and wondering if there's (anywhere on the internet) a walkthrough of the type of steps needed to make this main scene performant on Quest. I know this scene wasn't built with Quest in mind but still, would be a useful reference. Here's what I tried so far:
    • Take default setup, switch to android build
      • build, export: runs on Quest 1 (wow! very cool) but at ~25 fps
    • Then disable the following:
      • all water
      • all the Station Light objects
      • PostProcessing Volume
      • build, export: still ~25 fps
    • Then
      • Add Occlusion Culling
      • Disable "Cast Shadows" on all MeshRenderers
      • build, export: still ~25 fps
    • what else to try?
    The main reason why I want a Quest build of this is so I can give it to my Quest QA testers as an apk build and ask them "what do you think about this interaction type, or that one?"

    Thinking maybe someone already wrote some notes on this, but google did not help me here. Thanks in advance.
     
    Last edited: Jul 1, 2023
    DavidZobrist likes this.
  16. jasonmcev

    jasonmcev

    Joined:
    Mar 12, 2015
    Posts:
    3
    I have been using 2.4.3 and both hand demo works but picking up controllers does not switch to controllers. Any ideas what might be the issue?
     
  17. DavidZobrist

    DavidZobrist

    Joined:
    Sep 3, 2017
    Posts:
    234
  18. babiskir

    babiskir

    Joined:
    Apr 5, 2022
    Posts:
    2
    Hi!

    Thank you for the examples!

    I find it quite tricky so far to substitute the effect of GravityApplicationMode.Immediately that was under ContinuousMoveProviderBase in 2.5, using the LocomotionMediator.
    Basically, if now you stand on a platform that moves up and down by physical forces and not transform change, your character will now block this physical interaction.

    Looking forward to see an implemented example or the addition of gravity applicaiton mode in the LocomotionMediator.