Stop character movement when widget is open?

Hi, I want my character to stop receiving inputs when I have this text widget open, and this should be extremely simple as adding a “set input to UI only” node, but it turns out I have functionality such as pressing space bar to skip text within widget, and if I set input to UI only it stops working.

what would be the beast approach around this?

Many ways to do this. Common approaches are:

Controller → Set Ignore Move Input [true]

Character Movement Component → Set Movement Mode [none]

Like the previous post says, this is how I was able to get this to work from player state when a widget was called on all clients. Not thoroughly the best option I’m sure but it stops the character from moving around.

It still allows keyboard functions and mouse downs…

indeed it works for keyboard movement inputs, but I also have a click to move functionality (simple move to location node), and I’m still able to click the ground and the character moves around

What I ended up doing was in my character BP I created a boolean variable called InputsActive and right after any inputs I added a branch to check if this boolean is true. So whenever my dialog box opens/closes, it casts to my character and toggles this boolean.

Not sure if this is an appropriate solution though.

1 Like

That’s a generalized approach. Most of my inputs have a custom “Can I do this?” function in line. I’d just add the InputEnable? bool to the flow in it.

1 Like