why is interaction: receive hardware input disabled when placing a widget in an actor blueprint

hi

why is interaction: receive hardware input disabled when placing a widget in an actor blueprint?

added a widget to an actor blueprint
would love for it to still respond to mouse events
it does not (or the mouse is consumed upstream)
under the actor blueprint >> widget >> interaction >> receive hardware input, it is not selected and it is also disabled so that i can not select it

thanks

  • you’re using Screen Mode - no need for hardware input enabled here, widgets already accept it
  • no widget class was chosen for this component

would love for it to still respond to mouse events
it does not (or the mouse is consumed upstream)

If the widget does not respond:

  • something else consumed input (another widget, most likely)
  • we’re in Game Only input mode (unlikely)
  • the widget hierarchy Visibility settings prevent interaction
1 Like

of course

thanks

another thing now

if i enable [accept hardware input] for the widget in the actor blueprint, it consumes the mouse rather entirely
not sure about mouse buttons as i have not tested that yet, and i can test and assign mouse button priority
rather i am referring to the mouse cursor / movement
i loose the mouse cursor and movement. and this is something i generally use for something else
how would i prioritize the mouse in this case, particulalry the mouse cursor / movement

You may need to clarify what that means. The mouse cursor does not move while over the widget?

as said, i use the mouse (cursor) for other things at the moment
ie i actively process the mouse cursor
i use the mouse to move an actor around

now that want to move the actor around with the mouse like i normally do i cant when the widget is active
i presume it is consuming the mouse cursor

What does it mean, specifically? There is 100 ways to move an actor using mouse… What is normally?

• how are you handling input modes?
• are you passing the focus back to the viewport after using the widget?
• do we need to Handle something inside the widget and pass it to the Player Controller?
• what is the actual step-by-step scenario?

More info needed.

the actor in this case is a building
the widget i am adding is for building data etc
i use the mouse to allow the player to select a location in the world to place a new building

when i have the widget in the actor (building) blueprint and enable accept hardware input, i (the player) can no longer move a building around during new building placement
so mouse cursor is gone or the mouse is handed to something else
when i disable accept hardware input it works as intended again and new building placement is back to normal
when i have the widget outside of the actor blueprint as a normal widget (that is externally set active and inactive) everything else is fine too
need to figure out what happens to the mouse now and how to prioritize it

Is this what you’re trying to do:

If you do not need the dragged widget to also show while placing the building, there’s no need for drag and drop. Just pass the focus back to the viewport as soon as you want to move the actor around. This can also be achieved by juggling Input Modes.

i kind of did that already
and it worked
it is just not working anymore when i use a widget in the actor blueprint and enable harware input for it
so either the 2 cant work together like this or i need to get it to work together by prioritizing it better

What are you doing exactly - we can’t read your mind. Please be specific. Do you:

  • left click an icon (what is it? user widget? button?) in a world space widget component
  • spawn an actor
  • want to move the actor in the world using line trace

Am I even getting close? :innocent:

yes generally this is what must be done now
but you make it sound very easy
and i still need to think how to do that
also cant say i know exactly what you mean although i follow the thing principled

Without knowing the exact scenario, it’s impossible to suggest something directly.

  • if you have a widget component with a native button that loves to steal focus, you can get back to the viewport immediately like so:

Again, no clue what is the actual scenario we’re dealing with.

i follow the thing principled

This is, sadly, too vague of an answer. Does it mean you do precisely what the bullet points outlined?


if you’re not sure about the technicalities, describe it from the end user’s perspective. What are we doing / what is happening?

i allow the player to place a new building in the world
the building is really the actor referred to here

the player uses the mouse to locate where the building must be placed

i use the player controller mouse cursor coordinates to move the mouse around in the world

this works “perfectly” fine (it works as is and like that)

i need to add a widget so that the player can interact with the building(s)

when the player clicks the building the widget must appear and the player can interact with the widget
it has a slider and drop down list (combobox)

even this works perfectly fine as long as i have this particular widget independently / separately outside the actor blueprint

if i start to put the widget inside the actor blueprint (at some point it made sense but i am starting to wonder) and allow hardware input in order to avoid widget interaction i loose the ability to move the building around as i use to
i am still trying to figure out why
it might be that the mouse goes to the widget now foremost
it might also be that i am enabling the widget too soon for practical purposes

I don’t get it. If you pop-up a widget, you’re interacting with the widget, if you’re done with the widget, why not hide it?

  • or you want to move a building while its 3d widget is showing?
  • or do you want to do both at the same time - click through a widget to reach the viewport?

Is there any video of the behaviour you want to achieve?

true

but maybe this is what i am not getting across

now, when i put the widget in the blueprint and enable hardware input, it does not work from the start (ie nothing works from start to finish)

i dont want to move the building when the widget pops
the player generally only pops the widget when the building is placed and thus stationary

but, i cant even move a new building anymore, because enabling hardware input for the widget while it is in the blueprint disrupts the mouse

if i leave the widget outside the actor (building ) blueprint it / all works fine
i can pop up the widget and interact with the widget and place my buildings

the mouse cursor still moves when i try to place a new building now
but the building itself no longer follows the mouse
and the buttons on the game menu widget still work
i would be able to locate the point of departure in the blueprint to understand why the building is stopping moving

when i enable hardware input for the widget when it is inside the actor blueprint i loose a valid mouse input:

get mouse position no longer returns true / valid anymore

building will no longer move as there is no location to move to

i take it the mouse is registered as hovering over / inside the widget now

if a widget is set as hidden, will it still be able to have focus (such that the engine would see it as having the mouse cursor, instead of the game world)
how can you at times set the priority of the game world higher than a widget i.t.o the mouse
how do you know what has focus at a time and (how) can you change it

Widget Reflector.

and (how) can you change it

or:

1 Like

thanks let me see