Valve's SteamVR Input Plugin

Sorry, doesn’t work, the motion controllers are still dead on vive when previewing in editor, and actions doesn’t work in packaged build.

Hi Joakim - can you send me please the following:

(1) All files under Config
(2) Log files under Saved directory
(3) Relevant APPDATA files located in the machine that’s having the issue

runeb@valvesoftware.com

Cheers.

Hello !
Just tried the sample maps of the plugin, and it seems the Pinch Action is not detected, so I cannot spawn and shoot arrow with the bow.
I checked :

  • Project Settings -> Input -> FireArrowLeft and FireArrowRight are respectively bound to SteamVR Index Controller (L) Pinch Grab and SteamVR Index Controller (R) Pinch Grab
  • DefaultInput.ini file, it confirms the above
  • Steam VR Bindings Dashboard, Default Binding for UE Editor, Pinch Gestures are set to FireArrowLeft and FireArrowRight.

I added a PrintString right after the InputAction FireArrow Left (and Right) to see if they were triggered, in case there were a problem with the Arrow, but no print is done when I pinch.

My config :

  • Win7
  • UE 4.23.1
  • SteamVR 1.8.21
  • Index Controllers up-to-date
  • HMD Vive (normal, not Pro) with LightHouse 1.0

SteamVR input plugin should win the award of one of the “most complicated plugin” made ever in the history of the game engine. how hard is to make a simple mapping controller like the legacy one? I spent 6 hours trying to map one button and I couldn’t on 4.21, I know you guys thought of giving the user more freedom but this is ridiculous. it doesn’t work as it should. every time I try and I get strange problem, the sample projects works fine on the first run but if you try to remove the button and add it again it won’t work as it used too. the input axis should give 0 - 1 float but every time you test you get +1 to the output. so after 6 tries, your axis will give 0-6 output.

Glad to see I’m not alone in having issues - I have posted on their Github and the developers have been quick to reply and offer suggestions - it sounds like hotfix 4.24.2 will solve the issues of tracking etc, at least for the Vive. Hopefully it is not too far away.

Hi - How are you trying to trigger the Pinch in the controller? Can you also try to temporarily map the Pinch action to say the A or B Button and see if those work?

Cheers,
Rune

Thanks for the feedback. We do appreciate there is a learning curve with the new Input System and architectural differences with the Engine’s Input System for versions prior to 4.24 may mean sometimes things won’t work as smoothly if settings aren’t what the system expects.

This feedback has not gone unheard though :slight_smile: We worked closely with Epic in UE4.24 to make it as seamless as possible with some changes in the Engine and SteamVR. In saying that, there were also other major XR changes in the engine to support OpenXR and there may be some teething issues, so any specific issues you can report to us, we would gladly appreciate.

With the axis multiplication issue - is this happening for you in the Marketplace version of the plugin or for UE4.24?

Cheers,
Rune

Thanks. just so issues aren’t mixed up - The Issue you reported with packaging in UE4.24.1 is an Engine issue and it’s resolved by Epic in the upcoming UE4.24.2 release:

https://github.com/ValveSoftware/ste…gin/issues/112

The other issue you reported with the SteamVRBindings folder not being generated, we’re unable to replicate including from prior QAs by Epic and us, so if you can please send over you Project Logs and SteamVR System report using the test project you sent, we’ll have a look and try to figure out what’s causing this on your setup and hopefully get it to a firm resolution.

Cheers,
Rune

Hi Rune,

Sorry if I sounded upset on previous post, I just got tired that day I guess as I spent a lot of time trying to understand why I couldn’t get it working. as I expected it to be as easy as legacy one,

I’m using 4.21.2 epic launcher version with the steamVRInput plugin from the epic marketplace version, since my game is on its late stage of development, I can’t change the engine. If I download the source version from the Git and compile it for my 4.21.2 will I get different result or a fix for the problems I faced or the fix is only targeted for >4.24?

Thanks
MH

And another issue I’m facing, what is the easiest way to confirm if the user us using Knuckles or Vive Wands using BP? is it possible to get this info from legacy SteamVR plugin without the need of SteamVR input plugin?
If not then I tried to use “Find SteamVR Origin Tracked Device Info” BP node using SteamVR input plugin but I had no luck. I don’t know how to use this node as I don’t know what to connect to “action name” and “action set”, any chance you can make a screenshot on how to use this node?

Thanks
MH

Hi MH - Really no apology needed, the new Input System does have a steeper learning curve, however it is similar to the new OpenXR standard so it can prove to be valuable knowledge for anyone developing in VR moving forward and UE has made significant strides on this in 4.24

We’ve backported new features we can in UE4.24 to the Marketplace version, and is in develop (also backported recent fixes this morning):
https://github.com/ValveSoftware/ste…ugin/tree/4.21

However, a critical requirement is that you use Actions via Key and Axis Mappings and not direct MotionController events which are also now deprecated/disabled in 4.24. Our Quickstart has some valuable info on this and common caveats you need to watch out for:
https://github.com/ValveSoftware/ste…iki/Quickstart

I hope that helps. If you still have any issues and/or questions, please just let me know.

Cheers,
Rune

You can have a look at this support thread for a sample:

](How can I find out which controllers a player with HTC is using? Knuckles or not? · Issue #97 · ValveSoftware/steamvr_unreal_plugin · GitHub)

Thanks a lot, I will check it and give it another try. If I face any issue, I will get back here to you.

BR
MH

Hey, so I was implementing the plugin all day and it was going well. Then I closed and opened the editor and now I get all these errors:

The “SteamVR Skeletal Anim Pose” and “SteamVR Set Wrist Transform” nodes have disappeared from my Anim graph. I put them back, then the next time I restart the editor they’ve gone again and the errors are back!!

Hi @anti_zero - try deleting your Intermediate and **Saved **folders for your project and restart.

Thank you for the fast reply. I tried this and it didn’t help though :frowning:

edit 1: I also tried re creating the anim BP from scratch. I noticed that the errors only occur if the anim BP is used by the hands mesh in my BP_MotionController. If I remove any reference to it the errors go away, which is strange.

edit 2: I just created a new blank VR project and the error isn’t happening.

edit 3: After deleting binaries, build, intermediate and saved, rebuilding the project in VS and fixing up redirectors some of the errors disappeared, but the nodes were still disappearing. I managed to create a new BP_MotionController and add a hand mesh with the Anim BP with no problems. I then tried to spawn this BP_MotionController from my VR pawn and now I get these errors:

edit 4: I have the project synced with my laptop (source control) so tried to implement it on there - same problem.

edit 5!!!: I tried spawning the BP_MotionController_2 from the level BP instead of from the VR Pawn and there’s no errors and no disappearing nodes. What on earth is going on??

Hi @anti_zero

Is SteamVR running properly during your editor sessions? A good indicator is if UE and SteamVR are communicating is the presence of the SteamVR logo in the toolbar.

Also, can you try the sample 4.24 project here: https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki/sample/SteamVRInputPlugin_UEIntegrated.7z

BTW, I neglected to ask, are you upgrading a project or is this a new project in UE4.24?

Cheers,
Rune

Hi Rune, thank you for the help.

Yeah I see the “Steam VR Input” button in the toolbar, is that what you mean?

I’m currently using a 4.19.2 custom engine build (With Nvidia Gameworks). I’m not upgrading, this is a project I’ve been working on for a long time and just started adding the plugin a couple of days ago. Everything works great until I restart the editor.

Edit: OK, I found a hacky work around because I was desperate! I’ve created a BP with just a hand mesh and anim BP and spawned one for each hand in the level (hidden), then in the actual BP_Motion controller I get these and use Set master pose component on the real hand mesh. All using a blueprint interface so they don’t reference each other, as that seems to be the cause of the disappearing nodes/errors. Stupid way to do it, but at least it works.

Hi thought Id chime in here and say that I had to rebuild a project in 4.22 .3 late last night after discovering that my vrpawn didnt work in 4.24. I tried to understand why the motion controller nodes had vanished from blueprint, and desperately scrabbled around for a quick-to-digest tutorial on what seems like a complete change to the motion controller system, but with a deadline looming panic set in.

Whilst what you are doing probably makes sense and is more elegant, and an improvement etc etc please spare a thought for those of us (like me) whose older less agile minds struggle when things stop working that previously worked,

Ive read everything i can but still dont understand where the motion controller input nodes for the buttons have gone, and what has replaced them - ?

The sample project doesnt clarify this for me unfortunately.

I noticed that you have already said that the new control system has a steep learning curve - with that in mind would you be able to write up an explanation in plain English for folks like me, who probably didnt touch control mapping before, and have vr pawns setup that work fine in older versions of UE4. If there is already a formal explanation is there a link?

cheers…

Apologies for the rant…I am huge fan of the tech but the new SteamVR input restructuring is total disaster from my experience too. I had the same experience as deflix73. I just tried to move my simple custom VR pawn to a 4.24 project and it didn’t work out of the box. The journey to get it working again has been beyond frustrating and bizarre. My biggest lament is that we are trading usability for functionality. This is almost never a good trade. I hope it helps to highlight a few areas of the workflow that seem especially problematic for me (although I’ve heard similar issues echoed by others).

  • Why aren’t there default bindings anymore? It seems odd that I still have to associate controller bindings inside Unreal Engine and then take another step to associate those UE4 bindings inside the SteamVR Bindings Dashboard. I would expect there would be a default bindings that work out of the box. So I would only need to access the SteamVR Bindings Dashboard on the occasion I wanted to make a unique binding relationship.

  • The process of clicking 4 separate dropdown buttons under the SteamVR Input Toolbar menu is very strange. Then it always spawns a new browser tab. Why does this happen inside a browser instead of inside Unreal or SteamVR itself? It’s very confusing from UI design perspective.

  • The UI of the SteamVR Bindings Dashboard is very challenging to “read.” What is a button? What is a dropdown? What does a pencil icon do? It’s just a guessing game to determine what is clickable or editable? How do you know if the bindings have been saved? Why have 40 years of UI conventions been thrown out the window all of a sudden? An HTML 1.0 spec interface would be far more usable.

  • The disappearing SteamVR Input Toolbar icon. I had no idea this appears and disappears until it did. I still don’t know 100% why? Is it just when SteamVR isn’t installed or a HMD can’t be detected? If the plugin is enabled it should always be visible. If it can’t find SteamVR then it should just alert you and tell you the problem (ie. “SteamVR plugin can’t detect HMD or controllers”).

  • Projects aren’t portable. When I bring a project to another machine the VIVE wands Trackpad bindings don’t carry over correctly, the button bindings do. Is this a bug or a feature? Either way I have to go into the SteamVR Bindings Dashboard and find out what happened to the trackpad input.

  • Is there anyone at Valve that could spare the 20-30 minutes to do a screen recording of a few typical scenarios of working with the new system (starting from scratch, moving an old project over, working with a variety of controllers)? The example project does not work out of the box and gives you no information about how to use the new system. Even the Unreal Engine VR Template is broken by default now. You end up cobbling together a workflow from the possibly outdated SteamVR Plugin GitHub and random YouTube streamers which is far from ideal.

I know this is a work in progress but it is such a divergence from the previous workflow that I feel more care should have been taken in priming the developer base for the changeover. Also I imagine there is a new group of developers like me who are coming from film, architecture, education, medical, automotive, Industrial Design, fine art etc. and we maybe expect more reliability and consistency, or at least labeling things beta when they are still very much in progress.

As an educator I struggle to explain the logic behind this transition to my students. They are clearly put off by the confusion and naturally look to other platforms like Oculus because time is limited and they just want to get their projects done. I would happily volunteer my critical eye if Valve wants to share any future workflow developments. You guys built an amazing platform and there are a lot of people that want to help make it successful (and by exchange VR in general).