SurfaceGui Input events for classes inheriting from GuiObject not working on mobile

GuiObject Documentation
Classes inheriting from GuiObject have InputBegan, InputChanged, and InputEnded. I was really hoping to use these for a SurfaceGui, but found that they do not appear to work on mobile.

Here is a repo. Please test using mobile, thank you. Testing with Desktop will produce expected behavior (a Message with Text property set to “success”).

If it means anything, I am testing with an iPhone 5C.

Try using the touch events (TouchTap, TouchLongPress etc) instead; I think those were designed for mobile gui interaction so they should work better.

Thanks for pointing that out.

Would still like to construct code like this

ImageButton.InputBegan:connect(function(inputObject)
    local inputType = inputObject.UserInputType.Name
    if inputType == "Touch" or inputType == "MouseButton1" then -- mobile support with a conditional

    end
end)

It’s really elegant and makes a lot more sense.