Set Input Mode UI only does not work with motion controller

Hey everyone. I’m building a terminal system in VR using widgets. I’ve gotten it to work somewhat, the only problem is that whenever I set the input focus to the terminal using the Set Input Mode UI node in order to traverse the terminal’s menus, I can only do so using the keyboard. I was under the impression this node also supported gamepads(as in, motion controllers thumbsticks). Does anyone have some insight into this ?

Thanks in advance

Motion Controller Thumbsticks and gamepads are different input devices and behave differently. The MC input in particular is ultimately controlled by a VR plugin depending on which VR device you have. MC do not necessarily emulate gamepads.

This said, there could be a way to emulate keyboard input by grabbing a MC thumbstick input and then generating a keyboard (or mouse) event to interact with your terminal. This is how the Widget Interaction Component works. You may want to take a look at it here: UMG Widget Interaction Components in Unreal Engine | Unreal Engine 5.3 Documentation

Thanks @franktech for tagging me.

Thanks a lot for the answers thus far. I’ll be looking into the Widget Interaction Component @vr_marco, thanks for the tip. However, while simulating a keyboard press from the thumbsticks in my MCs in order to make the most of the system already in place,which is listening to keyboard inputs, would be nice, wouldn’t that have the drawback of allowing keyboard inputs to still work in conjunction with the MC inputs?

Not entirely sure I understand the last part of your comment. The keyboard input will work anyway, you are just using the MC’s to simulate some keyboard keys in case someone wants to interact through them.

Sorry if I didnt word it correctly, what I meant was, since I’m using the MCs to simulate keyboard inputs, that means that the keyboard itself can still influence gameplay right? So I could be interacting with the terminal using my MC thumbsticks, while still being able to do the same thing with my keyboard at the same time.

It’s not the worst thing ever, since in order to play the game in VR the player wouldnt be too close to the keyboard either way, but I just wanted to be able to stop him from pressing an arrow key by mistake while in VR.

It’s a minor problem though, thanks for the feedback!

The alternative is to use a widget interaction component associated to the Motion Controller and exclude any keyboard input. But you may have to redesign how your terminal works.