[4.8.3] Cannot Interact With 3D UMG Widgets

I seem to be unable to interact with buttons on 3D widgets at runtime (with a player controller). Strangely, if I eject and try to interact with them through the free camera in the viewport, everything works as intended and I can press the buttons just fine. The widget also works correctly in 2D.

I’ve tried making every pivot (0, 0) (I’ve seen that suggested in several answers on here). The player controller has all mouse and touch events enabled and shows the cursor. I’ve tried using the Widget Reflector and don’t even see my widget in the list at runtime. When I mouse over it, it isn’t registered by the Reflector at all…it’s like it doesn’t exist. My max interaction distance has been set as high as a million with no improvement.

No matter what I do, I can’t get any hover or click/touch events to fire. Does anybody know what the issue is?

Hello ADaurio,

I have a few questions for you to help narrow down what issue it is that you are experiencing.

Quick questions:

  1. Can you reproduce this issue in a clean project?
  2. If so, could you provide a detailed list of steps to reproduce this issue on our end?
  3. Could you provide screen shots of any blueprints that may be involved with this issue?
  4. Could you set the pivot back to is original position of x= 0.5, y=0.5 and let me know if this helps?

I just ran a quick test and I don’t seem to be able to recreate the issue in a clean project. Unfortunately my company’s project is under NDA and I can’t provide all of our blueprints. Changing the pivot hasn’t seemed to make any difference at all.

I noticed that the Widget Reflector in our project seems to always grab the ‘SVirtualJoystick’ from PlayerController.cpp when the mouse is somewhere on screen (but not on 2D widgets). No 3D widgets seem to be capable of being detected beneath it. In the clean project, ‘SVirtualJoystick’ isn’t enabled. Could SVirtualJoystick be effectively blocking 3D widget interaction? It would explain why I can interact with them once I eject.

I’m going to mark this as resolved, but I would consider this a bug. 3D widgets cannot be tapped or pressed if virtual joysticks are enabled for your mobile builds in your project settings. As soon as I disabled them, everything began working normally.

I’ve run into a similar situation in 4.8.3 … Enabling the virtual joystick prevents me from interacting with any Widget component. I’m however able to interact with the HUD drawn on the screen, but not a widget that is placed in 3D space.

This is sad :frowning:

Hello ADaurio,

I was able to reproduce this issue on our end. I have written up a report ( UE-23843) and I have submitted it 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.

Make it a great day

This is still happening in 4.11!

4.12 stilling!

Hello 锋之痕,

After taking a quick looking at the public tracker for this issue (linked below), it appears that this issue has been resolved. You may be experiencing a different issue. Could you create a new thread with additional information? If so, you can then post a link in a reply here and someone can follow up.

Link: Unreal Engine Issues and Bug Tracker (UE-23843)

Still happening in 4.14!

Hello Michiel VDC,

I have a few questions for you that will help narrow down what issue it is that you are experiencing.

Quick questions:

  1. Can you reproduce this issue in a clean project?
  2. If so, could you provide a detailed list of steps to reproduce this issue on our end?
  3. Could you provide screen shots of any settings/blueprints/widgets that may be involved with this issue?

Doesn’t seem to have been resolved to me; it’s marked as Won’t Fix. Still seems to be an issue in 4.26.

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.