No Enhanced Inputs Working in OpenXR 5.1

I am getting no inputs coming through from motion controllers in my project when using openXR/Index/5.1

I have the enhanced mapping set in the OpenXR plugin


I have input contexts set in the mapping

I have inputs set in the contexts

And I have it set up in the Pawn Blueprint at Begin play

Keyboard triggers set in separate contexts added to the enhanced input work but if I add the same keyboard inputs to the Motion controller context they no longer work.

Controllers track ok when playing game but there are zero inputs coming through (have tested with various Debugs attached to enhanced input triggers)

Bumping this because I have been looking at this for a week and still not been able to get inputs working or answers. There seems to be a bug with them and it is just not receiving anything from the controllers

Using the old input actions also does not work - does not seem to receive any button presses that were working previously in a 4.27 project

Have tried this same setup in the VR template as well. If I switch it back to the inputs that were setup in that template they work but you cannot add any more of your own inputs or change the input profile to anything other than the original template config or it breaks all controls

Can anyone help? Is there any way to debug exactly which controls UE is receiving other than attaching Events to them?

If you enter showdebug enhancedinput in the console you can see which Input Mapping Contexts are applied, which actions are receiving input, etc.

Since you updated from 4.27, backup your intermediate and saved folders, delete them, and restart the project. And make sure that the SteamVR plugin is disabled in your project.

Thankyou - this Debug mode was exactly what I needed to be able to check. the project was not a migration - more of a setting up a new project and copying some key BP’s across. Hopefully this debug will help me work out what is happening.

@VictorLerp - I decided to completely re-set up all my inputs. Set up new configs and contexts etc. Spent all day checking inputs and everything was working fine. Inputs were coming through etc. I save and close my project.

Today I start up my project and zero inputs work. I have tried running the input debug and there are no inputs coming in from the controllers at all again. The controllers are also no longer aligned properly and are at 90 degrees to the actual controller positions in-game. Keyboard inputs set up in the same config still work .

Nothing has changed in the mean time but this is exactly what happened previously and all inputs stopped working. Is it possible that the mappable config set in the OpenXR plugin can get corrupted somehow or am I missing something?

The controller being misaligned sounds like it is loading one of the legacy XR plugins instead of OpenXR. Filtering the log for LogHMD should show a message that it has initialized OpenXR if the correct plugin has been loaded.

image
This is what I get - not entirely sure what those error messages are and if related but it seems that the SteamVR/OpenXR runtime is correct?

This is almost certainly a bug - I just set up a brand new config and context with a couple of the same inputs from the non-working config and it works. If I change over to the config I set up yesterday (which was working fine) - zero inputs registering in on the showdebug enahancedinputs

If I add the same actions to the new fresh config - they work. It is as though the other configs/contexts become corrupted. And this has happened to previous configs as well, I am on my fourth config now - they become unusable.

would love a clue as to how/why to solve this as It is really not good to have to keep setting up the inputs configs peridiocally

That looks correct. The error messages just mean that the SteamVR runtime doesn’t support the default Frame Buffer Pixel Format. Setting it to one of the other options from the project settings should make it go away.

@Fnordcorps could you provide us with a project that reproduce the issue? We haven’t come across this. Also, please list which OpenXR runtime and hardware you’re using. Thanks!

How do I supply it to you?

You can send a link in a PM to me, thanks!

After disabling “IA_shoot_left” and connecting it to an open level node, I always got a restarting level. Everything is ok when playing in VR preview.

I’ve been having similar issues. I have been able to successfully modify the button mappings and input action names in the mapping context that comes in the VR template, but as soon as I create my own input action (even if I duplicate it from one of the existing ones), add it to the mapping context, and then assign a button, when I load up VR preview the controllers don’t even show up. But if I remove that new input action, it works again.

@liquidgordon1 - Out of interest are you using Perforce/Version control?

Someone suggested to me that this problem may be something to do with the version control making some files read-only. I have started a new project with no version control (yet) and so far it seems to be working, adding actions to the original project config (so far) - But I have had to abandon my previous project and start afresh as any new input configs I made would stop working/corrupt over and over. I spent weeks trying to solve it.

The motion controllers would also lose their orientation when the input config stopped working as well (they would appear 90 degrees rotated) - only returning to the original (untouched) template input config would get it working and lined up again - which is odd as the input config has no orientation data for the controllers as far as I know.

@VictorLerp - my project is too big to send you as requested (14gb) - I assume this is too big?

After all, I found that the issue came from the absence of maps names for the package. This issue was sloved but I abandoned the 5.1 version because the big bug is I cannot send char in the virtual keyboard input.

What do you mean the absence of Map names? I’m having this same exact issue and can’t get past it. I see one option is start from scratch and until recently I was using a different input system until I found out I couldn’t use that for multiplayer so I went back to normal openxr. In the template It works just fine but in my built game that I made it really far on, it doesn’t register input. Please elaborate if you can or even show me if you have the chance.

Edit: I figured out my issue. UXTools plugin was taking up my input slot. I thought it was being rendered disabled whenever I switch to a client because it doesn’t work with Replication (So I heard) but it didn’t automatically bring back the other input system so I simply unchecked the XRSimulation Box. Hopes this helps another Hololens user.

Just adding a note here in case someone finds this thread from googling related issues:

Input Mapping Contexts, and Input Actions, requires unique descriptions. If you duplicate one of the existing Enhanced Input uassets that have a description, make sure to update the Description field with a unique name.

2 Likes

Thank you for this, this was the issue on my end.
Duplicate description means the mapping environment will fail to load.