Inconsistent GUI events using unity 4.6 EventSystem on surface pro 3

Hi,

I am in the process of developing my unity app for a surface pro 3 device.

I use the new GUI system introduced in unity 4.6 together with the new event system for detecting drag events on UI elements using the interfaces IBeginDragHandler and IEndDragHandler.

This works fine in the editor and while running the windows store build locally on my machine but fails while running the app on a surface pro 3 device. It looks like most of the gui touch events is never received. By doing a (fast)swipe like gesture, i am able to sometimes get the BeginDrag event and very rarely a EndDrag event but this is by no means consistent. Most of the time the input is just ignored.

The issue only occurs when using touch input on the device. If i switch to a mouse, the problem disappears.

I have replicated the issue using unity 4.6.1, 4.6.1p3 and unity 5.0.0b18 on a surface pro running windows 8.1

Am I missing something or does anyone had any success in using the event system with a surface pro 3?

I have attached the (very) simple project i used to debug the problem. Its just a script that logs events from the event system to the screen.

1920319–123960–SurfaceEventSystemTest.rar (102 KB)

I had the same problem on a surface pro 3 as well. While debugging I noticed that the StandaloneInputModule and TouchInputModule were interfering with each other. Removing the StandaloneInputModule component from my EventSystem and readding it resolved the problem for me. If that doesn’t help you could try to write your own InputModule or, if you dont need mouse/keyboard input just removing the StandaloneInputModule altogether.