I believe this is a bug, but it may be me doing something wrong with daydream.
I’m using a widget interaction component driven by a motion controller in a project. On an input event, I simulate the press and release of mouse button one. On oculus, this functions as expected - I point the laser at a button widget in worldspace and click on my button, performing the bound task once.
When I package for google daydream (ATSC) when I press the button on my controller that simulates the press and release of mouse button 1 via the interaction component, two click events are registered on the button i’ve simulated the click over.
Example: My button functions like a light switch essentially. Pressing the button once turns the ‘light’ on, pressing a second time turns it off.
On oculus (vr preview) this works as expected. On Daydream, the ‘light’ is flicked on then off instantly. Debug text confirms the click event is being called twice.
I read a different, earlier bug report stating that when using the widget interaction component with touch events buttons had to be pressed twice, and that bug has been marked as fixed. I’m wondering if the fix for that was to simulate two clicks when on android or something?
I am temporarily hacking around this on daydream by only acting on every second click event.
Engine version is Binary 4.14.0
Repro steps
- Create a new vr project
- Create a button widget that toggles between red and green on a click event. starting color red.
- Put this button in a widget scene component
- Using widget interaction component, simulate mouse button 1 press and then release on daydream controller/oculus button press while aiming at the widget onscreen in worldspace etc
Expected result (will get on oculus): Button toggles colour when click is simulated
Result on daydream: Button will flick to new colour then back to previous when click is simulated
But yeah if anyone needs more information happy to help. I’m aware that I could just be doing something stupid or wrong (having spent little time on android in the past) so I apologize in advance if this is user error.