<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "TouchController",
  "identifier" : "/documentation/TouchController/TCThumbstickDescriptor",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Touch Controller"
    ],
    "preciseIdentifier" : "c:objc(cs)TCThumbstickDescriptor"
  },
  "title" : "TCThumbstickDescriptor"
}
-->

# TCThumbstickDescriptor

A descriptor for configuring a thumbstick.

```
class TCThumbstickDescriptor
```

## Topics

### Creating the descriptor

[`init()`](/documentation/TouchController/TCThumbstickDescriptor/init())

Creates a new thumbstick descriptor with default values.

### Inspecting the descriptor

[`var backgroundContents: TCControlContents?`](/documentation/TouchController/TCThumbstickDescriptor/backgroundContents)

The contents for the background of the thumbstick.

[`var hidesWhenNotPressed: Bool`](/documentation/TouchController/TCThumbstickDescriptor/hidesWhenNotPressed)

Whether to hide the thumbstick when it is not being pressed.

[`var highlightDuration: TimeInterval`](/documentation/TouchController/TCThumbstickDescriptor/highlightDuration)

The time it takes for a highlight to fade away, in seconds.

[`var label: TCControlLabel`](/documentation/TouchController/TCThumbstickDescriptor/label)

The label associated with the thumbstick.

[`var offset: CGPoint`](/documentation/TouchController/TCThumbstickDescriptor/offset)

The control’s offset from the anchor, which determines its position.

[`var size: CGSize`](/documentation/TouchController/TCThumbstickDescriptor/size)

The size (width, height) of the thumbstick in points.

[`var stickContents: TCControlContents?`](/documentation/TouchController/TCThumbstickDescriptor/stickContents)

The contents for the thumbstick itself.

[`var stickSize: CGSize`](/documentation/TouchController/TCThumbstickDescriptor/stickSize)

The size (width, height) of the thumbstick stick itself in points.

[`var zIndex: Int`](/documentation/TouchController/TCThumbstickDescriptor/zIndex)

The z-index of the thumbstick. A lower z-index is drawn first.

### Accessing the anchor

[`var anchor: TCControlLayoutAnchor`](/documentation/TouchController/TCThumbstickDescriptor/anchor)

The anchor point that the thumbstick’s offset is relative to.

[`enum TCControlLayoutAnchor`](/documentation/TouchController/TCControlLayoutAnchor)

Defines the anchor point for a control.

[`var anchorCoordinateSystem: TCControlLayoutAnchorCoordinateSystem`](/documentation/TouchController/TCThumbstickDescriptor/anchorCoordinateSystem)

The coordinate system for the control’s anchor point.

[`enum TCControlLayoutAnchorCoordinateSystem`](/documentation/TouchController/TCControlLayoutAnchorCoordinateSystem)

Defines the coodinate system for an anchor point.

### Getting the collider shape

[`var colliderShape: TCColliderShape`](/documentation/TouchController/TCThumbstickDescriptor/colliderShape)

The shape of collider to use for the thumbstick.

[`enum TCColliderShape`](/documentation/TouchController/TCColliderShape)

Defines the shape of a control collider.

## Relationships

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`CVarArg`](/documentation/Swift/CVarArg)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)