# HandleAdornment

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

- Inherits from, nearest first: [PVAdornment](https://rapi.sleaze.dev/classes/PVAdornment.md), [GuiBase3d](https://rapi.sleaze.dev/classes/GuiBase3d.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: [BoxHandleAdornment](https://rapi.sleaze.dev/classes/BoxHandleAdornment.md), [ConeHandleAdornment](https://rapi.sleaze.dev/classes/ConeHandleAdornment.md), [CylinderHandleAdornment](https://rapi.sleaze.dev/classes/CylinderHandleAdornment.md), [ImageHandleAdornment](https://rapi.sleaze.dev/classes/ImageHandleAdornment.md), [LineHandleAdornment](https://rapi.sleaze.dev/classes/LineHandleAdornment.md), [PyramidHandleAdornment](https://rapi.sleaze.dev/classes/PyramidHandleAdornment.md), [SphereHandleAdornment](https://rapi.sleaze.dev/classes/SphereHandleAdornment.md), [WireframeHandleAdornment](https://rapi.sleaze.dev/classes/WireframeHandleAdornment.md)
- Tags: Not creatable
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/HandleAdornment/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/HandleAdornment

An abstract class inherited by 3D handle adornments.

## Properties

### AdornCullingMode

```luau
HandleAdornment.AdornCullingMode: Enum.AdornCullingMode
```

- Tags: Read capabilities: Basic + UI

Determines whether to automatically cull the adornment.

### AlwaysOnTop

```luau
HandleAdornment.AlwaysOnTop: boolean
```

- Tags: Read capabilities: Basic + UI

Forces this adornment to render on top of all 3D objects in the workspace.

### CFrame

```luau
HandleAdornment.CFrame: CFrame
```

- Tags: Read capabilities: Basic + UI

The position and rotation of the object relative to its [`PVAdornment.Adornee`](https://rapi.sleaze.dev/classes/PVAdornment.md).

### GizmoReference

```luau
HandleAdornment.GizmoReference: Instance
```

- Tags: Hidden, Not replicated, Roblox script security, Read capabilities: Basic + UI

### SizeRelativeOffset

```luau
HandleAdornment.SizeRelativeOffset: Vector3
```

- Tags: Read capabilities: Basic + UI

The positional offset of the adornment based on the adornee's [`BasePart.Size`](https://rapi.sleaze.dev/classes/BasePart.md).

### ZIndex

```luau
HandleAdornment.ZIndex: number
```

- Tags: Read capabilities: Basic + UI

Determines the draw order of this [`HandleAdornment`](https://rapi.sleaze.dev/classes/HandleAdornment.md) when [`AlwaysOnTop`](https://rapi.sleaze.dev/classes/HandleAdornment.md) is `true`.

## Events

### MouseButton1Down

```luau
HandleAdornment.MouseButton1Down: RBXScriptSignal<()>
```

- Tags: Capabilities: Basic + UI

Fires when a player presses down on their left mouse button while hovering over the adornment.

### MouseButton1Up

```luau
HandleAdornment.MouseButton1Up: RBXScriptSignal<()>
```

- Tags: Capabilities: Basic + UI

Fires when a player releases their left mouse button while hovering over the adornment.

### MouseEnter

```luau
HandleAdornment.MouseEnter: RBXScriptSignal<()>
```

- Tags: Capabilities: Basic + UI

Fires when a player moves their mouse over the adornment.

### MouseLeave

```luau
HandleAdornment.MouseLeave: RBXScriptSignal<()>
```

- Tags: Capabilities: Basic + UI

Fires when a player moves their mouse out of the adornment.

## Inherited members

- From [PVAdornment](https://rapi.sleaze.dev/classes/PVAdornment.md): `Adornee`
- From [GuiBase3d](https://rapi.sleaze.dev/classes/GuiBase3d.md): `Color3`, `Transparency`, `Color`, `Visible`
- 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`
