Expected result: The InputBegan and Mouse1 Down are printed to the console when clicking the button, Input Began is printed when a touch events slides over the button.
Actual Result: The script runs, but no events are fired.
This appears to be a recent bug in the last week or so.
Seems to work for me. Maybe the missing piece is setting BillboardGui.Active = true? This should probably be the default when inserting a new billboard gui in studio, I’ll see if we can make this change.
I always forgot about that! This fixed the issue - should I make a feature request to enable it by default, as it is pretty unintuitive.
(I also think one of my plugins may have been messing with the Active property, as archived versions of some of my projects had this issue as well when they were previously working.)
Stop the presses, there really is a bug!
This time, all the UIElements definitely have active set to true, with nothing interfering with them. But when set up like this:
With the local script being the same as before, but obviously pointing to the new location of of the button. The module script is left blank and is not required by the local script. The button inside the BillboardGui does not register input events, however, if after running the place you move the image button out of the billboard gui, and make it a child of the ScreenGui, it will start registering input.
It was being used as a container for components of a vehicle system. The vehicles local scripts/modules needed to be delivered to the player, independently of the game (For free model usage).
Interestingly the BillboardGui does seem to work when I make it a direct descendant of the ScreenGui
I don’t think this issue has been resolved, as I’ve found another instance where it occurs. Check out the attached file for the setup or listen to my explanation:
The setup is similar but different this time. I have a ScreenGui reparented from ReplicatedFirst to StarterGui, where the BillboardGui parented under a module script has it’s adornee set to an NPC. The BillboardGui’s setup is the same as madattak’s.
I’ve examined that it does work when the ScreenGUI is initially parented under StarterGUI, not when it’s reparented from ReplicatedFirst to ScreenGUI. I’ve made sure that the BillboardGUI is parented under PlayerGui, it’s properly adorned, and it’s relevant children have their Active properties set to true. Nothing in the output coming from the input event.
Another very important detail I noted: this setup works in a “real” server (publishing to roblox and clicking play), but doesn’t work in studio even in a single player test server.