# GuiButton

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [GuiObject](https://rapi.sleaze.dev/classes/GuiObject.md), [GuiBase2d](https://rapi.sleaze.dev/classes/GuiBase2d.md), [GuiBase](https://rapi.sleaze.dev/classes/GuiBase.md), [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Subclasses: [ImageButton](https://rapi.sleaze.dev/classes/ImageButton.md), [TextButton](https://rapi.sleaze.dev/classes/TextButton.md)
- Tags: Not browsable, Not creatable
- Memory category: Gui
- HTML page: https://rapi.sleaze.dev/classes/GuiButton/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/GuiButton

An abstract class for interactive 2D user interface elements.

## Properties

### AutoButtonColor

```luau
GuiButton.AutoButtonColor: boolean
```

- Tags: Read capabilities: UI

Determines whether the button automatically changes color when the mouse hovers over or clicks on it.

### Modal

```luau
GuiButton.Modal: boolean
```

- Tags: Read capabilities: UI

If `true` while the GUI element is visible, the mouse will not be locked unless the right mouse button is down.

### Style

```luau
GuiButton.Style: Enum.ButtonStyle
```

- Tags: Read capabilities: UI

Sets the style of the [`GuiButton`](https://rapi.sleaze.dev/classes/GuiButton.md) based on a list of pre-determined styles.

### MouseButton1ClickConnectionCount

```luau
GuiButton.MouseButton1ClickConnectionCount: number
```

- Tags: Hidden, Not scriptable, Read capabilities: UI

### MouseButton1DownConnectionCount

```luau
GuiButton.MouseButton1DownConnectionCount: number
```

- Tags: Hidden, Not scriptable, Read capabilities: UI

### MouseButton1UpConnectionCount

```luau
GuiButton.MouseButton1UpConnectionCount: number
```

- Tags: Hidden, Not scriptable, Read capabilities: UI

### MouseButton2ClickConnectionCount

```luau
GuiButton.MouseButton2ClickConnectionCount: number
```

- Tags: Hidden, Not scriptable, Read capabilities: UI

### MouseButton2DownConnectionCount

```luau
GuiButton.MouseButton2DownConnectionCount: number
```

- Tags: Hidden, Not scriptable, Read capabilities: UI

### MouseButton2UpConnectionCount

```luau
GuiButton.MouseButton2UpConnectionCount: number
```

- Tags: Hidden, Not scriptable, Read capabilities: UI

### HoverHapticEffect

```luau
GuiButton.HoverHapticEffect: HapticEffect
```

- Tags: Read capabilities: UI

A [`HapticEffect`](https://rapi.sleaze.dev/classes/HapticEffect.md) instance that will play when the [`GuiButton`](https://rapi.sleaze.dev/classes/GuiButton.md) is being hovered.

### PressHapticEffect

```luau
GuiButton.PressHapticEffect: HapticEffect
```

- Tags: Read capabilities: UI

A [`HapticEffect`](https://rapi.sleaze.dev/classes/HapticEffect.md) instance that will play when the [`GuiButton`](https://rapi.sleaze.dev/classes/GuiButton.md) is being pressed.

### Selected

```luau
GuiButton.Selected: boolean
```

- Tags: Read capabilities: UI

A boolean property which indicates whether the object has been selected.

## Events

### Activated

```luau
GuiButton.Activated: RBXScriptSignal<(inputObject: InputObject, clickCount: number)>
```

- Tags: Capabilities: UI

Fires when the button is activated.

### MouseButton1Click

```luau
GuiButton.MouseButton1Click: RBXScriptSignal<()>
```

- Tags: Capabilities: UI

Fires when the user's mouse fully left clicks the [`GuiButton`](https://rapi.sleaze.dev/classes/GuiButton.md).

### MouseButton1Down

```luau
GuiButton.MouseButton1Down: RBXScriptSignal<(x: number, y: number)>
```

- Tags: Capabilities: UI

Fires when the user presses their left mouse button down on the [`GuiButton`](https://rapi.sleaze.dev/classes/GuiButton.md).

### MouseButton1Up

```luau
GuiButton.MouseButton1Up: RBXScriptSignal<(x: number, y: number)>
```

- Tags: Capabilities: UI

Fires when the user releases their left mouse button off of the [`GuiButton`](https://rapi.sleaze.dev/classes/GuiButton.md).

### MouseButton2Click

```luau
GuiButton.MouseButton2Click: RBXScriptSignal<()>
```

- Tags: Capabilities: UI

Fires when the user's mouse fully right clicks the [`GuiButton`](https://rapi.sleaze.dev/classes/GuiButton.md).

### MouseButton2Down

```luau
GuiButton.MouseButton2Down: RBXScriptSignal<(x: number, y: number)>
```

- Tags: Capabilities: UI

Fires when the user presses their right mouse button down on the [`GuiButton`](https://rapi.sleaze.dev/classes/GuiButton.md).

### MouseButton2Up

```luau
GuiButton.MouseButton2Up: RBXScriptSignal<(x: number, y: number)>
```

- Tags: Capabilities: UI

Fires when the user releases their right mouse button off of the [`GuiButton`](https://rapi.sleaze.dev/classes/GuiButton.md).

### SecondaryActivated

```luau
GuiButton.SecondaryActivated: RBXScriptSignal<(inputObject: InputObject)>
```

- Tags: Capabilities: UI

Fires when the button's "secondary" input is activated.

## Inherited members

- From [GuiObject](https://rapi.sleaze.dev/classes/GuiObject.md): `SelectionImageObject`, `ClipsDescendants`, `Draggable`, `Active`, `AnchorPoint`, `AutomaticSize`, `BackgroundColor3`, `BackgroundTransparency`, `BorderColor3`, `BorderMode`, `BorderSizePixel`, `InputSink`, `Interactable`, `LayoutOrder`, `Position`, `Rotation`, `SelectionRect2D`, `Sink`, `Size`, `SizeConstraint`, `Visible`, `ZIndex`, `BackgroundColor`, `BorderColor`, `Transparency`, `DragBeginConnectionCount`, `DragStoppedConnectionCount`, `MouseEnterConnectionCount`, `MouseLeaveConnectionCount`, `MouseMovedConnectionCount`, `MouseWheelBackwardConnectionCount`, `MouseWheelForwardConnectionCount`, `NextSelectionDown`, `NextSelectionLeft`, `NextSelectionRight`, `NextSelectionUp`, `Selectable`, `SelectionOrder`, `GuiState`, `TweenPositionInternal`, `TweenSizeAndPositionInternal`, `TweenSizeInternal`, `TweenPosition`, `TweenSize`, `TweenSizeAndPosition`, `InputBegan`, `InputChanged`, `InputEnded`, `MouseEnter`, `MouseLeave`, `MouseMoved`, `MouseWheelBackward`, `MouseWheelForward`, `SelectionGained`, `SelectionLost`, `TouchLongPress`, `TouchPan`, `TouchPinch`, `TouchRotate`, `TouchSwipe`, `TouchTap`, `DragBegin`, `DragStopped`
- From [GuiBase2d](https://rapi.sleaze.dev/classes/GuiBase2d.md): `AbsolutePosition`, `AbsoluteRotation`, `AbsoluteSize`, `ActiveQueryNames`, `ReplicatedInsertionOrder`, `ClippedRect`, `IsNotOccluded`, `RawRect2D`, `TotalGroupScale`, `AutoLocalize`, `RootLocalizationTable`, `Localize`, `SelectionBehaviorDown`, `SelectionBehaviorLeft`, `SelectionBehaviorRight`, `SelectionBehaviorUp`, `SelectionGroup`, `SelectionChanged`
- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
