So I’m having a issue where when clicking a mobile button, the connection doesn’t work when the players movement buttons get in the way. I’ve tried setting it to selected, changing layout order, trying “Activated” as well as “Button1Up”. Nothing is working, not sure what to do.
You need to place a large (eg full screen) button behind it. Button should be fully transparent. It is there to swallow the click.
Clicks on Gui elements flow through to the 3d world, and the Active property does nothing.
A clarification about Active. The API documentation makes it clear enough that the Active property has no effect on the pass-through of click events in the 2d world to the 3d world. Active only relates to 3d-to-3d elements. Personally I think there should be a property to stop 2d-to-3d events like this. It should even be the default perhaps. But in this case it wouldn’t really matter. This is because your hand button is so small, relatively speaking, that misclicks will happen a lot. They’ll try to press the hand, but miss and press the block. This could be frustrating for users.
The invisible button is behind the hand button seen in your video. No action is performed when it is pressed. The event is “swallowed”.
If they press on the hand, perform the hand’s pressed function.
I am assuming the “hand button” is a Gui element. Is it? It appears to be a BillboardGui on second inspection, so the invis button can’t be full screen.
So I got it kind of working, this is a sketchy and kinda gross solution but on the off chance someone reading this finds it helpful here you go:
Every single frame I set the active property of this element (the built in mobile button) to false
Yes, this is a janky and pretty poor solution but at the moment its the only one I can find. If you don’t set it every frame it will change back, and I only set it the frames that the button is visible so that way if active does anything (doesn’t seem to run differently) it wont interfere. If no one can find a solution I’ll probably move this to bug reports.