Status of XR Interaction Toolkit?

I’ve been trying to find out what the current status of XR Interaction Toolkit.

In the most up to date package, there are lots of deprecated API (the entire affordance system), with no clear indication of what the replacement will look like.

It looks like the XRIT github repository was last touched 3 months ago and has bugs like push buttons don’t seem to work (or maybe I’m overlooking dumb). Non functional push buttons break important features such as the settings panel right at the beginning.

I’m hoping to avoid reinventing some wheels (specifically around working with gaze and hands), so some insight into XRIT’s future would be greatly appreciated.

Hey @BlackPete, we are currently getting ready to release 3.0.6 patch fix for XRI in line with the Unity 6 release. These fixes will be rolled into the github (XRI Examples) as well as all of the XR templates accessible from Unity Hub.

However, the push buttons in the XRI Example project should work properly, but they only work for physical pushing, so clicking from a distance was not originally designed to work. We are working on changing this for accessibility reasons as well as just better UX.

In terms of the Affordance System APIs, we are still working on the replacement “Feedback System”, which we are planning to release in preview form in XRI 3.1 within the next couple of months. It’s a significant amount of work, so it has taken longer than anticipated.

Thanks for responding to my post!

Good to know that the push buttons not working from a distance was as designed and it wasn’t something I overlooked :wink: Yes, the ability to interact from a distance would be greatly appreciated as it’s a bit awkward trying to lean over my desk and avoiding hitting my monitors while trying to hit a button.

I’m actually still a little confused why an Affordance (or even Feedback, I guess) system even existed – aren’t they just events? As long as all the events are exposed and invoked, we should be able to just add callbacks to play sounds, haptics, etc.?

Hi @VRDave_Unity I was wondering if there are any updates on the Feedback system. As of now, Unity is yelling at me for using the deprecated affordance system. But I can’t find much info about a replacement.

Will the transition from affordances to the feedback system be somewhat seamless?
And is there a release date for the feedback system on the horizon?

I am worried about integrating the affordance system into our app, only to then need to upgrade in two or three months.
Thanks!

@tomwolf1210,

If you are getting the warnings about the deprecated affordance system by using references in code, you can turn off the warning behavior in the properties or usages where it’s popping up:
#pragma warning disable CS0618
and then closing it out:
#pragma warning restore CS0618

As for a release of the Feedback System, it’s still under development. I don’t have an exact date on when it will be released, but we are hoping to have a pre-release of it sometime in the next few months. I completely understand the frustration here around deprecating the Affordance System soon after it was released and without a full replacement. We are also definitely mindful of a graceful migration path to the new system. One thing to keep in mind is that it will be supported and functional through the XRI 3.x lifecycle, which is tied directly to the Unity 6 lifecycle, so you won’t have to worry about it being fully removed until the next major version of XRI/Unity. In the meantime, would it also be helpful to add the ability to hide/ignore the warning boxes in the inspector windows? I know that piece of it is also a visual annoyance for us internally.

@BlackPete
To answer your question about the existence of the Affordance/Feedback System. The original goal behind the system was not just about eventing, but providing a similar interaction pattern to how our UI systems behave, but for Interactable GameObjects. It’s about simplifying and providing out-of-the-box feedback elements (sound, visual, haptics) driven by a specific interaction state of the object. On top of that you can create and use a theme (like a style sheet) to generalize the feedback, making it easy to configure the same parameters for all feedback elements in your game or app without having to individually adjust every field on each component. It provides a no-code way to do seemingly simple things like fading the color of an object based on the interaction state or something more complex like handling gradual transitions using tweening. We also built it to leverage the job system to help ensure these state transitions were running in a way that didn’t block critical code from running. Hopefully this makes sense.

Hi @VRDave_Unity
Thanks for clearing that up!

Honestly, the code warnings and in-editor warnings are not really an issue for us. It’s good to know that affordances will be supported throughout Unity 6 though!

Maybe just updating the warning message to reflect the current state of things would save a lot of people the confusion.

Thanks for the thorough answer!

Any news on the new feedback system? Is it part of v3.2?

2 Likes

Regarding why things like this exist, in my view.

For a non-VR game the user is abstract from the environment, we expect unnatural interactions and devs to define these systems, and them to not align well with sensory experience. Affordance is an optional feature to polish your game.

In VR games the user experiences the game through their own experiences but since we cannot replicate the real world interaction completely, for example tactile feedback on an object, the game world can be very disorienting to a player and how things work are often non-obvious. Even with clearly defined instructions such as “push the ball to move it” it can feel unnatural to a player when they cant clearly interpret the point where they are pushing the ball. This disconnect makes affordance not just about polish in VR/XR games. It is required for a user to interpret the world.

While you can make these systems yourself I think they really should be part of XR toolkits.

@VRDave_Unity do we have any update on the new system. I am interested to explore it. In a few month I will be doing a project which will involve improving aspects of user interaction, with a focus on accessibility. I am eager to look at any new options coming out, even if incomplete or experimental. Currently 3.4 still lists the affordance system and not the feedback system (other than a simple haptic and audio, nothing really similar) I assume due to the complexity here this is continuing to move back. Since my focus isn’t maintainability, but long term interactivity options, is there somewhere I can try out a pre-release.