Not Hit-Testable not working for 3D Widget

Hello
So to keep it simple, I set all my actor components (from my actor blueprint) and my widget components (from my widget blueprint) to be Not Hit-Testable (Self & Children). However it seems like when I mouse hover over the 3D widget, it still triggers actions but shouldn’t.

On hover, print Hello
image

In WBP, all set to Not Hit-Testable.

In ABP, Begin Play with Not-Hit Testable

In the end, still interacts :frowning:

Goal
The actor has a widget and a mesh component. I want it such that when I hover over the mesh, then the widget appears. Also I want to be able to interact through the widget.

All that I’ve read up on so far tell me to set as Not Hit Testable but somethings off for sure.
Any advice would be great!
(On another note, the hit area is much larger than my widget itself. Not sure if that gives a clue as to what’s going on.)

Assuming we’re talking about a Widget Component living in World Space, you’re interacting with the component’s mesh itself whose quad plane handles its own collision:

By default the Player Controller uses the Visiblity channel for mouse trace ops which the component blocks rather enthusiastically.


I assumed a thing or two above. To clarify, can you interact with any of the widgets inside the component even though its root is set to NH-T (Self & Children)? Like a button?


Goal
The actor has a widget and a mesh component. I want it such that when I hover over the mesh, then the widget appears. Also I want to be able to interact through the widget.

Providing I understood the intent correctly:

  • keep the widget component hidden/invisible and non-interactive by disabling its collision
  • detect begin cursor over on the mesh instead → show the widget and makes it interactive
  • detect end cursor over on both the mesh and widget comp (you said it can get huge - perhaps larger than the mesh judging by the top-down POV) to disable and hide the component

Something along the lines this pseudoscript could / should work:

I’d leave the UMG widget visibility as is => root NH-T (Self Only) and keep the elements you wish to interact with Visible.

1 Like

Ah collision! thank you so much!

Alright I’ve gotten most of the intended behaviour, but yes as you correctly assumed I also want to click on a button within the widget. However this isn’t working (anymore).
I would assume that the Query Only would make it just as interactable but can’t seem to use my close button. Hovering over the button (which changes the buttons colour) also isnt working.

Clicking on widget then clicking on button, then try hover over button, nothing happens.

Am I missing something to make the button interactable?

  • has the button ever worked to start with?
  • do you have hardware input enabled?

  • are we sure the visibility settings inside of the UMG widget what they’re supposed to be?


Yea it was definitely working before (see video above)
But after implementing everything you mentioned, I manage to not have the widget component interactable at hover (great!) BUT the button still does not work (aww).

Perhaps if I could ask your help once more, I would like advice on what sort of settings to turn on and off if I want too have the widget interactable versus not, within the editor settings itself and what’s changeable at runtime via Blueprints.

I’m quite confused on the layers of settings starting off with Hit Testable, then Collision, then Hardware Input, and theres two kinds of visibility?
Reading the documentation of each individually sounds like a lot of repetition around the same narrative so I’m not confident I know what the differences are :confused:


Do some of these settings override others?

Anyhow I’m going to redo my BP (because of some other unintended behaviours) but this time starting off with the settings you mentioned and hopefully I get to create an interactable 3D widget, that can be non-interactable at command.

Thank you so much Everynone :pray: !!!