# Thumb

{% hint style="warning" %}
The `Hand` class automatically instantiates the `Thumb` class for you.
{% endhint %}

```csharp
public class Thumb : Finger
```

Inherits [Finger ](https://handtracking.lightbuzz.com/api-reference/finger)class.

### Constructors

| Name                                                                                                                                                                                | Description                                                                         |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| Thumb(Dictionary<[FingerJointType](https://handtracking.lightbuzz.com/api-reference/fingerjointtype), [FingerJoint](https://handtracking.lightbuzz.com/api-reference/fingerjoint)>) | Creates a new Thumb object with the specified finger joint types and finger joints. |

### Properties

| Name | Type                                                                        | Description                                     |
| ---- | --------------------------------------------------------------------------- | ----------------------------------------------- |
| CMC  | [FingerJoint](https://handtracking.lightbuzz.com/api-reference/fingerjoint) | Read-Only. The thumb carpometacarpal joint.     |
| MCP  | [FingerJoint](https://handtracking.lightbuzz.com/api-reference/fingerjoint) | Read-Only. The thumb metacarpophalangeal joint. |
| IP   | [FingerJoint](https://handtracking.lightbuzz.com/api-reference/fingerjoint) | Read-Only. The thumb interphalangeal joint.     |
| Tip  | [FingerJoint](https://handtracking.lightbuzz.com/api-reference/fingerjoint) | Read-Only. The thumb tip joint.                 |

### Example

The example shows how to manage a thumb with the `Thumb`class.

#### Create a thumb with a constructor

```csharp
// Create a thumb tip joint with the specified 2D position and 
// 3D position.
FingerJoint thumbTip = new FingerJoint
(
    FingerJointType.ThumbTip,
    new Vector2(3, 3),
    new Vector3(0.3f, 0.3f, 0.3f),
    new Quaternion()
);

// Create a thumb IP joint with the specified 2D position and 
// 3D position.
FingerJoint thumbIP = new FingerJoint
(
    FingerJointType.ThumbIP,
    new Vector2(3, 3),
    new Vector3(0.3f, 0.3f, 0.3f),
    new Quaternion()
);

 // Create a thumb with the specified thumb joints.
 Thumb thumb = new Thumb
 (
     new Dictionary<FingerJointType, FingerJoint> 
     {
         { FingerJointType.ThumbTip, thumbTip },
         { FingerJointType.ThumbIP, thumbIP }
     }
 );
```

#### Get joint information from a thumb

```csharp
// Get thumb Tip joint.
FingerJoint thumbTipNew = thumb.Tip;
```
