Reverb G2 controllers not working in UE4 4.25.4

Hi, I’m new to Unreal & am testing it with a HP Reverb G2 without much success unfortunately. I installed UE 4.24.3 followed by 4.26.2 and based on your advice I’m going to go back to 4.25.4 to see if that works.
The long & the short of it is I can’t teleport around. I have imported a design from SolidWorks and parts that were transparent in SolidWorks are no longer transparent (as you mentioned above).

When I enabled the HP Motion Controller Plugin & the Microsoft Windows Mixed Reality plugins the VR Mode button is greyed out. Strange.HP Motion Controller Plugin is activated.

Just installed 4.25.4 and I also can’t teleport with that.

Are you able to get the G2 thumbsticks working? That is the problem I’m having, not being able to use the thumbsticks for movement.

Apologies for such a late reply! Here are the input bindings im using for my Reverb G2:

Works intuitively alongisde my Rift S without a problem. The only VR related plugin I have enabled is SteamVR, not OpenXR or WMR, and Im using 4.25. You may have to enable the WMR plugin to add the inputs to the engine, but you can disable it right after.

I see both in my input dropdown list, and the category is definitely ‘Windows Mixed Reality’ but the bindings are all just ‘Mixed Reality’. You may have to enable (then disable) the WMR engine plugin to add the correct inputs to the engine.

4.27 preview is out now… has anyone checked if they updated compability for the G2 controllers?

Thanks for providing this. Sorry also for the very late reply.

I actually have all the same items (with different names) in my Input section, but still no go on getting the G2 controllers to work in UE4.25.4 (or any other version). I’ve tried diabling all but SteanVR plugins…still no go.

Btw, this happens with all my versions of UE4 (including UE4.27). One thing I do notice though is that SteamVR always complains there is a problem with my action manifest ( which I assume is the source of my problem), but I can never get to the point of actually being able to repair it. SteamVR won’t load any manifest (it just keeps saying loading bindings for my project…forever), so I can’t even do a custom binding as there isn’t a binding available for my project to modify. I’ve also done the regenerate action manifest + bindings inside UE4 but nothing ever happens afterwards.

Literally pulling my hair out on this…and the swear jar is the size of my apartment building by now…

The other thing that happens is if I use OpenXR in 4.26 it causes an instant crash with one my assets I’m using once I start VR view…so it’s a bouble ■■■■…^%$#*

I really want to get the G2 working with my project as it looks so much more incredible than the Rift S.

I’ve been using the HP Reverb G2 in a 4.26.2 project with OpenXR, not completely without issues. I went back to 4.25.4 to see if I could figure something out but it seems to rely on the HP Motion Controller plugin which is not available to 4.25.4.

I read in an earlier post that one of the things you were having issues with was the thumbsticks. According to their documentation, while using SteamVR “…the name of the axis event must end in “_X” or “_Y” corresponding to the key used.” Without that pair SteamVR doesn’t seem to handle the thumbstick mappings.

Sorry to hear of your issues with upgrading your project. However if you do manage to upgrade, or if there is anyone else listening in and can’t quite figure it out then I may be able to help out a bit. I tested this out in 4.26.2 using a fresh Virtual Reality template project, so hopefully there will be no issues.

I followed the documentation that Tomas_TDFM linked earlier, but for the “All platforms” tab rather than SteamVR. You’ll need to enable the HP Motion Controller plugin, and make sure OpenXR is still enabled, then use the Oculus Touch mappings for your various inputs.

If you setup 4.26 to use SteamVR by default as mentioned previously in this thread, you’ll need to go back and remove vr.SteamVR.EnableVRInput=1 from ConsoleVariables.ini and set SteamVR=10 in BaseEngine.ini to ensure OpenXR is taking priority again.

The only mapping not available while using this method is the menu button on the right controller.

The new VR Template in 4.27 was tested with Reverb G2 :+1:


I’m glad to say that I now have the G2 controllers working through SteamVR with UE4 - 4.25.4, 4.26.2 and 4.27. That was quite the challenge.

One thing to note, is in order for SteamVR to recognize all the buttons and the thumbsticks…the VR project needs to be at least running in VR in the background initially in order to register the action mappings to the controllers in SteamVR. Also, even if one is only using say MoveLeft_X in Blueprints to move Left + Right…MoveLeft_Y still needs to be registered as an action input in the project so that SteamVR see’s both axis’s.

1 Like

How do I access this new template? The only template that included VR that I didn’t recognize only had a Oculus, SteamVR and PSVR enum, which didn’t look comforting (and I just tried 4.27… the controllers track, but the inputs aren’t responsive like they are with the old Reverb).

EDIT: Oh, is it in the gaming section? I’m posting from my personal account now, but I’m so used to only looking in the archviz and prodviz templates from work…

EDIT 2: Got it now… but I can’t figure out where the mappings from the X Y and A B buttons come from? I see all of the other mappings, but not those…

EDIT 3: Also, made new mappings, but still can’t get any input events to trigger. Do you need to do anything else to upgrade a project from 4.26 to 4.27 or Reverb to G2?

Did some more testing and discovered a couple of details that should help y’all:

  • By default, OpenXR will pick Oculus Touch as the closest interaction profile for the Reverb G2 controllers. The default WMR controllers use the Mixed Reality inputs, but Reverb G2 is closer to an Oculus controller so the runtime will chose that instead.
  • If you enable the “HP Motion Controller”-plugin OpenXR will chose those bindings over Oculus.

I hope that helps!

Thank you for looking into this.

I enabled the HP plugin now (even though it is weird, because the G2 supposedly just uses the latest generation of the Microsoft reference design):

And then, just to be safe, I added these mappings:

Howevever, I still can’t even get a simple print to fire from this setup:

What am I missing? What could be screwing this up?

Btw, I noticed that when I enabled the HP motion controller plugin, the motion controllers rotated 90 degrees when tracked… :roll_eyes:

Try disabling the Microsoft Windows Mixed Reality plugin. It’s not needed once you enable the dedicated HP Motion Controller plugin. The OpenXR plugin will handle the rest of the VR functions in Unreal.

Also, only enable the other two OpenXR plugins you have listed if you have the hardware related for each specific use. Both Eye & Hand tracking requires the hardware capable of each type. The G2 doesn’t do either of these on a hardware level. If you have the G2 Omincept, then you should be fine in that aspect…I believe…

1 Like

YES, FINALLY! Everything now works. Thank you for that final puzzle piece!

That was the correct answer. So is this the wave of the future? WMR is out and OpenXR is in?

Thats great!!!

Yes OpenXR is definitely the new standard for VR going forward. This should clean up VR development greatly for all.

Glad you found the solution - Windows Mixed Reality is disabled by default hence why I never came across that problem.

The new VR Template in 4.27 is shipping with OculusVR and SteamVR disabled, only OpenXR is enabled but the HP MotionController Plugin has to be manually enabled if you don’t want OpenXR to select the Oculus Touch Classic interaction profile.

So, did all this break again with 4.27.1?

The project still tracks the controllers, but the input mappings stopped working…

EDIT: 4.27.2 seems to have fixed it.