GuiObject [Mouse Events] has Inconsistent Behavior between Devices

Reproduction Steps
Mouse Input Bug.rbxl (31.5 KB)

On PC when you Interact with a TextButton it will Fire MouseEnter then MouseButton1Down

however on Touch devices it will Fire MouseButton1Down before MouseEnter which causes issues, preventing me from making good UIs and slowing down my game’s progress as a whole

(my cursor is offset in the video, you can thank Roblox for not working well with any Recording software)


You can test this in studio by using an Emulator and then observe the TextButton.Text or Output

Expected Behavior
Touch devices to Fire MouseEnter before MouseButton1Down

Actual Behavior
Touch devices will Fire MouseButton1Down before MouseEnter

Issue Area: Engine
Issue Type: Other
Impact: High
Frequency: Constantly
Date First Experienced: 2021-07-18 00:07:00 (+07:00)
Date Last Experienced: 2021-07-18 00:07:00 (+07:00)

Basically from what I know the mobile mouse exists, it’s just left where the user has last placed their finger. Possibly dragging the finger to the TextButton/ImageButton could first trigger the MouseEnter event, but I am not sure about that. I still don’t understand the use of MouseEnter on touchscreen, but I guess it has their use.
As said, I can reproduce the issue.

they don’t have a use on it’s own but I’d like to code my UI once and have it work consistently on all Platforms.

MouseHover has functionality for PC, all I want is for Touch Devices to have the same behavior.

1 Like

Thanks for your report! This is something we can look into, but I am curious if this causes a bug for you? At a fundamental level touch input will be slightly different than actual mouse, as we don’t have the hover state with touch.

If you use the same code you wrote for PC on a touch device, does this cause issues in your experience?

1 Like

Yes, I’ll send a dm with the file and information

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.