I too had a problem with BeginCursorOver not firing, and after MUCH frustration, I found that (as hvfn pointed out) the Self Hit Test Invisible WAS the answer to my problem. However, I didn’t realise that this can be set at each node of the UI hierarchy. In my case, the parent was set to Self Hit Test Invisible, but the canvas panel beneath it was NOT… so that was blocking the event. So, in summary, this worked for me:
- Set the EnableMouseOverEvents on the PlayerController
- In the Static Mesh Actor, set the collision preset as required, as long as the Trace Response->Visibilty checkbox is set to Block
- Make sure that each node of your HUD is set to Set Hit Test Invisible unless that node needs to respond to events (note that the Graph tab->Class Defaults value only applies to the very root of the HUD hierarchy: you need to set the values in the Designer tab)
I hope this helps someone…!
–Mike–