OpenXR Valve Index

Hi,
I just migrated a project based on the VR Template from UE427 to UE5 . I’ve noticed that the grab and release is super buggy in UE5. Grabbing and releasing does not work consistently in UE5. I’ve tried updating the steam app to beta v1.22.8, but it doesn’t appear to help much. Has anyone else run into this issue with the Valve Index? Any thoughts?

Hey @flatKAT!

We’re aware of issues using the Valve Index Grip Axis input as an input for an Action Mapping. If you assign Valve Index Grip Axis input to an Axis Mapping, it works as intended. The reason why that’s not default in the VR Template is due to how we’d prefer to have the same Action Mapping be responsible for the same logic path, as that’s how input w. OpenXR is intended.

I’m working w. the team to figure out if the issue is w. the runtime, the generated action manifest, or our Input Mappings. For now you can modify your grip logic to be triggered off of an Axis Mapping instead of Action, and it’ll work as you’d expect. Hope that helps!

Hi Victor,
Thank you for the tip! I was really scratching my head on this one.

1 Like

Update: Valve identified it as a bug in the SteamVR runtime and are working on a fix. I’ll update this thread once the fix is live, and grabbing Actors in the VR Template will work as intended without any changes to it.

2 Likes

Another update!

This was a tough one to identify. The problem was on our end and the fix just went in to 5.0.3.

1 Like

Hi, further to this, I find that the grip activates too soon.

In the VR Template, when setting an Axis to an Action Mapping, such as setting Valve Index (L) Grip Axis to GrabLeft, is there any way to set the grab and release thresholds in-engine?

E.g. in SteamVR Input, you can activate at 100% pull and release at 30% pull.

Or would I have to use an Axis Mapping?

That’s exactly what I did, used an Axis mapping and deleted the action mapping for the index grip. From there I just added a thing in blueprint to actually grab, when the value of the grip was above a float I defined, then release when below a different float.

I’m not sure how 5.0.3 fixed this I have to update still, I don’t expect it would change this as it makes the most sense to me.