# Procedural Animation

## Tutorial

The **FPS Animation Pack** handles arms movement via procedural animation, including:

1. Idle
2. Walk
3. Sprinting
4. Jumping

{% hint style="success" %}
**Tip**: these features work out-of-the-box with the FPS Player component. If you already use it, you can skip this tutorial.
{% endhint %}

The process of adding procedural movement to your custom player controller is easy. First, add the **FPS Procedural Animation** to your character:

<figure><img src="https://2885832619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTutPE4k64wSsZ71G3Yf0%2Fuploads%2FtiKTAt66tHqGjbUR9S7x%2Fimage.png?alt=media&#x26;token=2f880895-c127-4539-9a82-aa21b5883906" alt="" width="273"><figcaption><p>Click the "Add Component" button.</p></figcaption></figure>

{% hint style="success" %}
**Tip**: add this component to the character Game Object, which contains the Animator component.
{% endhint %}

Once the component is attached, it will automatically assign bone transforms:

<figure><img src="https://2885832619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTutPE4k64wSsZ71G3Yf0%2Fuploads%2FI8jRr5UYlYQAnZ1OdaqR%2Fimage.png?alt=media&#x26;token=dfb46e3b-e659-4ddd-8d5b-878dbeaa079d" alt="" width="400"><figcaption><p>Automatically assigned bone transforms.</p></figcaption></figure>

{% hint style="warning" %}
Note: If some bone references are missing, make sure to manually assign them by dragging bones into their respective slots.
{% endhint %}

The setup is complete at this point - now procedural movement animations will be applied to your character in-game.&#x20;

## How it works

It's also worth noting how these animations work. The **ik\_hand\_gun\_additive** Game Object is animated by clips from your Animator:

<figure><img src="https://2885832619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTutPE4k64wSsZ71G3Yf0%2Fuploads%2F8q5DgwqL2zUGvtrfDiPJ%2Fimage.png?alt=media&#x26;token=8170b3e9-d840-468b-8f53-b3b09e9f99bc" alt="" width="242"><figcaption><p>Additive gun bone.</p></figcaption></figure>

The **ik\_hand\_gun\_additive**'s animated transform is applied directly to the arms by the procedural component at runtime.

{% hint style="success" %}
**Note**: ik\_hand\_gun\_additive is **NOT** a bone; it is an empty Game Object attached to the root bone.
{% endhint %}
