I ran into this error and found the same thing as “akjim”**,**that setting the WIC’s (Widget Interaction Component) Integration Source from World to Custom + setting up a line trace that would pass in its Hit Result to the WIC’s Custom Hit Result on Tick would work for me as well, but I didn’t want to use that (for VR Purposes). Instead, I dug into the Engine code and figured out the problem.
I came from VR_Works UE4.15 -> VR_Works UE4.18, so I compared the WidgetInteractionComponent code from both of them “D:\UnrealEngine\Engine\Source\Runtime\UMG\Private\Components\WidgetInteractionComponent.cpp” and found they went from doing a single line trace to multi-line traces. This means UE now cycles through all their hits and tries to assign the correct one to their normal result that is returned, if they ended up hitting a widget. What happens instead is that if they fail to find a widget on any of the multi-hits, they stop searching. I was hitting other overlap collision elements in my scene (was tracing on Visibility) before I was hitting my 3D Widget, so the for loop would instantly break and never find my widget(s). I commented out this break on line 210 and this fixed the issue.
I also added a break on a newline after 204 so that the first widget I’d trace-hit would be used and the engine would not continue searching for other widgets. Example: Widget1 is in front of Widget2. Widget1 will be interacted with first, over Widget2, until removed from the line-trace to Widget2.