3D widget buttons don't register click with "Down and Up" click method

I am working on a VR game and have a bunch of 3D widgets with buttons in them. They are set up the following way:

Gamepad/Keyboard input works fine, mouse input is using a WidgetInteractionComponent. What I notice is that the OnClicked event never triggers unless the Click Method is set to “Mouse Down” and/or the button is focusable. Stepping through the code, I noticed that the SButton receives the Release event but drops it, which I believe is due to a check of the screen position instead of casting in 3D space - SButton.cpp from line 262:

bool bEventOverButton = IsHovered();
if (!bEventOverButton && MouseEvent.IsTouchEvent())
{
	bEventOverButton = MyGeometry.IsUnderLocation(MouseEvent.GetScreenSpacePosition());
}

I believe this should do a 3D check instead, if the widget is under a widget component!

Hello Till Riemer,

I was unable to reproduce this issue on our end. 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?
  4. Are you calling the “Release Pointer Key” node for the widget interaction component after you call the “Press Pointer Key” node?

Note: That if you are not calling the release, then the “up” portion of the “Down and Up” method is never triggered.

Hi! Yes, the “Release Pointer Key” node is being called, and it definitely finds the correct widget to send the event to (I stepped through the code). Will try to reproduce this in a fresh project later.

Hello Till Riemer,

I know that you were trying to reproduce this issue in a clean project, however we have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will follow up.

Thanks,