# Adding Custom Actions

Your only a few steps away from adding custom animation actions to your iMove player!

{% hint style="info" %}
Did you know? There are tons of free animations and characters at [mixamo.com](https://www.mixamo.com/)
{% endhint %}

## Step 1 (Prepare Animation)

Select your animation in the project hierarchy and ensure your **Rig is set to Humanoid**. \
Don't forget to click Apply!

<div align="left"><figure><img src="/files/uuyFI77iIt8G4Rww1p0g" alt=""><figcaption></figcaption></figure></div>

While still inspecting the animation, open the Animation tab.   ![](/files/zKCFuvPvQMa55SlOCMuu)

Change your animation settings to look similar to these settings. \
This is important because we are using root motion from the animation to drive the movement of the character. If the character isn't quite moving as expected, you may need to tweak these settings.

{% hint style="warning" %}
Don't forget to click **Apply** near the bottom right.
{% endhint %}

<div align="left"><figure><img src="/files/ws9Y1zCMPWIq0vLjDOgR" alt=""><figcaption></figcaption></figure></div>

## Step 2 (Add Animation to iMove) <a href="#docs-internal-guid-555a71d6-7fff-6337-1168-b6da5ff12662" id="docs-internal-guid-555a71d6-7fff-6337-1168-b6da5ff12662"></a>

On your player > iMove > Animations > Click the (+) button.&#x20;

<div align="left"><figure><img src="/files/OZqjRJ5GyXoSxsXxKfhT" alt=""><figcaption></figcaption></figure></div>

Fill out the animation options. The Name is what you will use when calling iMove.PlayAnimation("flip")

{% hint style="info" %}
When adding animation actions that require a start, idle, and end animation, you can fill out the other clip inputs. Remember to change the Final Transition Start Time if there is an End Animation Clip.
{% endhint %}

<div align="left"><figure><img src="/files/2tRvR2kcICTNTvPtp4Bv" alt=""><figcaption></figcaption></figure></div>

## Step 3 (Bind Input To iMove Action)

On your player > GVS Player Input > Add custom input binding.

<div align="left"><figure><img src="/files/juD5tNRA6LgmnjbepU22" alt=""><figcaption></figcaption></figure></div>

Assign an input action from your (Unity Input Action Reference) to the iMove.PlayAnimation().

{% hint style="info" %}
You can also call this method manually via code instead of from GVS Player Input: iMove.PlayAnimation("flip")
{% endhint %}

<div align="left"><figure><img src="/files/3UCgGOq7KZ7Jziqf23Sg" alt=""><figcaption></figcaption></figure></div>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://glass-vault-studio.gitbook.io/imove/getting-started/adding-custom-actions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
