# Adjust Three Bone Chain

The **Adjust Three Bone Chain** node minimally adjusts a [Three Bone Chain](three-bone-chain.md?id=three-bone-chain) (for example shoulder → elbow → hand or hip → knee → foot) using FK so the effector reaches a desired transform while preserving segment lengths and the current bend plane. Unlike two-bone IK, there is no need to provide a pole vector: it is automatically calculated from the input pose.

![Adjust Three Bone Chain node](_media/adjust-three-bone-chain-node.png ':size=1200')

## Usage

1. Add the **Adjust Three Bone Chain** node to your Control Rig graph
2. Connect **Desired Effector Transform**
3. Preview the result
4. If the detected setup is close but not quite right, choose a different Quick Setup or adjust **Chain** and **Effector** manually
5. Tune **Stretch** or **Twist** only if the default solve is not enough for your rig

If the thing you want to match is not the chain's end element itself, change **Effector** after Quick Setup. A common example is using a muzzle or fingertip child instead of the hand.

## Quick Setup

When you place the node, FocalRig generates any [Quick Setups](quick-setups.md) it can detect for the current hierarchy and auto-applies the first one. If another one matches your rig better, right-click the node and choose it from the Quick Setup dropdown.

<details>
<summary>How detection works</summary>

Quick Setup offers presets for common arm and leg chains:

- **Arms**: names resembling `upperarm` / `shoulder` / `humerus` → `lowerarm` / `forearm` / `elbow` / `radius` / `ulna` → `hand` / `wrist`
- **Legs**: names resembling `thigh` / `upperleg` / `femur` → `calf` / `lowerleg` / `tibia` / `knee` / `shin` → `foot` / `ankle`

Each preset fills **Chain** and sets **Effector** to the detected chain end. If your rig uses different naming or a different topology, configure the node manually.

</details>

## Input Pins

| Pin | Type | Description |
|-----|------|-------------|
| Desired Effector Transform | Transform | The desired global transform for the effector element |
| Effector | Rig Element Key | The effector element whose transform should match **Desired Effector Transform** |
| Chain | [Three Bone Chain](three-bone-chain.md?id=three-bone-chain) | The three-element chain to adjust |
| Stretch | [Stretch Settings](three-bone-chain.md?id=stretch-settings) | Settings for handling targets at or beyond the chain's natural reach |
| Twist | [Twist Settings](three-bone-chain.md?id=twist-settings) | Settings for rotating the chain around the root-to-end axis |
| Debug | [Debug Settings](#debug-draw) | Debug draw settings |
| Weight | float | The blend weight of this operation (0.0 = no effect, 1.0 = full effect) |

### Chain

Use **Chain** to define the root, middle, and end elements of the limb you want to adjust.

See [Three Bone Chain](three-bone-chain.md?id=three-bone-chain) for the field breakdown.

### Stretch

**Stretch** decides what this limb should do when the desired effector transform goes to or past full extension.

See [Stretch Settings](three-bone-chain.md?id=stretch-settings) for the field breakdown.

### Twist

**Twist** rotates the whole limb around the root-to-end axis so the effector orientation lines up better. This is usually more useful for arms than for planted legs.

See [Twist Settings](three-bone-chain.md?id=twist-settings) for the field breakdown.

## Debug Draw

| Property | Type | Description |
|----------|------|-------------|
| Enabled | bool | Whether to draw debug visualization |
| Scale | float | Scale factor for debug visualization sizes |

Use this debug view in this order:

1. Compare the gray chain with the cyan chain to see how much the solve moved the limb.
2. Check the cyan effector point to confirm the final result.
3. Check the teal overlay only when you are tuning twist behavior.

| Debug item | Meaning |
|------------|---------|
| Gray chain lines and effector point | Original chain before adjustment |
| Cyan chain lines and effector point | Final solved chain and effector position |
| Teal twist overlay and target line | Twist range, applied twist, and the line from the root to the final target |
