I don’t see the need to create a custom GUI button system when the Active
property exists. All GUI Instances that inherit from the GuiObject
class can receive input if you set their Active
property to true
and use either the InputBegan
, InputChanged
, InputEnded
or the touch events that MeTooIDK suggested. TextLabels inherit from GuiObject so by following these steps you can easily make them work as a button
Roblox even added the GuiState
property recently which changes to Press
when a player activates the GUI: