> For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/scriptable-animation-system/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinemation.gitbook.io/scriptable-animation-system/fundamentals/animator-layers/ik-motion-layer.md).

# IK Motion Layer

## Description

**IK Motion** is a <mark style="color:orange;">**unique**</mark> Animator Layer. Unlike other features in the framework, this layer can be created outside of the Animator Profile. You can do it by right clicking <mark style="background-color:purple;">**Create -> KINEMATION -> FPS Animator Layers -> IK Motion**</mark>.

{% hint style="success" %}
**Tip**: this layer can be used for transition motions, like a jiggling motion when aiming or leaning in the demo project.
{% endhint %}

The workflow with this animation feature is this:

1. Add **IK Motion Layer** to the Animator Profile.
2. Create **IK Motion Layers** manually using the right-click method above.
3. Dynamically link desired **IK Motion Layer** using the FPS Animator component.

Dynamic linking can be performed by using **LinkAnimatorLayer** method:

{% code title="FPSController" overflow="wrap" %}

```csharp
private FPSAnimator _fpsAnimator;

private void DoSomething()
{
    ...
    // Where `layerSettings` is your IK Motion Layer.
    _fpsAnimator.LinkAnimatorLayer(layerSettings); 
    ... 
}
```

{% endcode %}

## Properties

<figure><img src="/files/EWI0udn7KXHeyuqjdA7a" alt="" width="392"><figcaption><p>IK Motion Layer Settings.</p></figcaption></figure>

* **Bone To Animate**: character bone which will be animated procedurally.
* **Rotation/Translation Curves**: curves which will animate each axis of rotation/translation.
* **Rotation/Translation Scale**: will scale each axis of rotation/translation.
* **Blend Time**: time in seconds to blend in this motion.
* **Play Rate**: playback speed for this animation.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://kinemation.gitbook.io/scriptable-animation-system/fundamentals/animator-layers/ik-motion-layer.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
