i used Widget Component on actor with Mobile Touch interface(4.10.1), it seems Touch interface doesn’t let the widget interaction work. when i do Eject it works fine,
also sticks doesn’t overlap with the widget so it maybe a bug.
if it is , is there any other workaround ?
After doing a bit of digging I was able to find that this is a known issue (UE-23843) and that it has been submitted to the developers for further consideration. I will provide updates with any pertinent information as it becomes available. Thank you for your time and information.
A work around to that problem is to create a Main HUD
which holds all off the windows (or HUDs) as children
of type Canvas. Though you should never work with the
Initial Canvas or the Main HUD Widget component.
You have to add the widget to the viewport and not the playerscreen.
You just create one Widget which contains all UI Information you want to display.
Store information ,as you would display in a different widget, in another widget.
But never touch the “Root Canvas”. Hopefuly my idea gets clearer now…
Thanks. I get it now.
However the initial issue was about creating a widget component within a blueprint actor, which would be placed in 3d space. The widget component references a normal widget blueprint class.
This works well, and the widget displays in 3d space.
If the widget has a button, that button functions as it should on the 3d widget.
However, if the touch interface is showing, the button interactivity is lost.
Almost there. Basically have to check if hit location is inside the button geometry.
So the touch event works on the widget component as a whole. Just doesn’t trigger the button in the widget referenced by the widget component.
Hence we check the location of the hit and see if it is in the button area.
the widget being reference is a simple widget with just one button, button_0
PS. This is not working at the moment because I have no idea about the geometry structure. So I just need to check if geometry can define an area and then check if hit location is inside that area.
Maybe someone with more experience can help with this.
The Touch interface/Virtual joystick is blocking touch events for widget components in the level. The issue apparently won’t be fixed. My only solution was to disable the touch interface for the duration of my event and re-enable it after by using ‘Get player controller → Activate touch interface’ and select ‘None’ and, after interaction, do the same, only select the touch interface you want to bring back.
I have found a way to work around it, the OnInputTouchBegin event from Widget Component does detect it, so I launch a CustomEvent from the 3DWidget that I have previously saved with a variable