UE4 is basically unusuable for me on a touch-screen laptop. It’s double-clicking for every touch in the editor. Checkboxes instantly revert themselves when touched. File menus instantly close themselves when opened. Expanded sections instantly collapse themselves, etc.
I’m running UE4 version 4.17.1 and Win10. I’ve disabled Use Mouse for Touch, but the problem persists. That seems to be for running the game, while this issue is happening in the editor itself. Please let me know if you’d like any additional information.
Still present in 4.18. When touching a button, the press event is fired.
When the button is released, we receive 3 events: release (which is expected), then press again, then release again.
This occurs in editor or packaged builds, even when “Use mouse for touch” is disabled. We currently employ several workarounds to deal with this but they are becomingly increasingly complex and will not keep us from needing to use custom UI widgets or a custom engine build.
I use the following AutoHotkey script as a stop-gap fix. Please note that it’s quite an imperfect fix and takes some getting used to. It will mess with your click-dragging on one screen, and mess with your mouse-only clicks on the other. Hold down a modifier key to bypass this hotkey.
The entire editor interface does not work properly
Found interesting features for game itself (using only blueprints):
Buttons - “Clicked” fires twice only on focus. Pressing the button for the first time results in a double click, next - normal. “Pressed” and “Released” - always fires twice.
Inside widget blueprint we can override some functions. For example, “On Touch Started”, “On Touch Ended”. Works perfect with “Image”, “Border”, etc. But does not work with “Button”. And I have a problem with widget definition under touch.
Expand the “Interaction” tab in the button properties. Set values for the fields “Click Method” = “Mouse Down”, “Touch Method” = “Precise Tap”, “Press Method” = “Button Press”. It solved my problem with the buttons.
But the problem with the handler InputTouch, which after the event “Released”, again comes once again “Pressed”, then “Released” will remain.