# Preserve Item Placement

The **Preserve Item Placement** node captures one item's transform, executes the first output pin, then restores that item's placement and executes **Completed**. Use it when one bone, control, or attached prop needs to stay put even though other nodes are changing the pose.

![Preserve Item Placement node](_media/preserve-item-placement-node.png ':size=1200')

In the setup shown above, the pistol bone is parented to the hand, but when not in use (outside of an animation that has the `ULT_PISTOL_ON` curve) it stays in the holster instead of following the hand around.

## Usage

1. Add the **Preserve Item Placement** node before the part of the graph that may disturb the transform you care about. That part is now "inside" the **Preserve Item Placement** node.
2. Fill **Item Placement** for the item you want to preserve.

> If you want to preserve a whole arm or leg instead of just one bone, use [Preserve Limb Placement](preserve-limb-placement.md) instead.

## Input Pins

| Pin | Type | Description |
|-----|------|-------------|
| Item Placement | [Item Placement Settings](#item-placement-settings) | Which item to preserve, and how its restored transform should be computed |
| Debug | [Debug Settings](#debug-draw) | Whether to draw the correction arrow |
| Weight | float | How strongly to apply the restore after the first output pin runs (0.0 = no effect, 1.0 = full effect) |

## Item Placement Settings

| Property | Type | Description |
|----------|------|-------------|
| Item | Rig Element Key | The element whose transform should be restored after the first output pin runs |
| Mode | [Item Placement Mode](#item-placement-mode) | How the restored transform should be computed |
| Reference Element | Rig Element Key | The element used by the relative and pin modes |
| Propagate To Children | bool | Whether restoring the item should also move its children |

## Item Placement Mode

| Value | Description |
|-------|-------------|
| **Disabled** | Item preservation is disabled |
| **Keep In Place** | Restores the item's captured <span class="fr-term" tabindex="0" data-tooltip-key="global-space">global space</span> transform. |
| **Keep In Place Relative To Reference Element** | Restores the captured offset relative to another element such as a holster bone. Use this when a pistol should stay attached to a holster when the whole body moves. |
| **Pin To Reference Element** | Pulls the item directly onto the reference element's transform. |

## Debug Draw

| Property | Type | Description |
|----------|------|-------------|
| Enabled | bool | Whether to draw the correction arrow |
| Scale | float | Scale factor for the arrow size and thickness |

With **Debug** enabled, the node draws a cyan arrow from the item's position after the first execution pin toward the restored position so you can see how much correction is being applied.