> For the complete documentation index, see [llms.txt](https://kinemation.gitbook.io/motion-warping-for-unity/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/motion-warping-for-unity/fundametals/motion-warping-component.md).

# Motion Warping Component

## In the Editor

**Motion Warping** is the main component in the system, as it is used for initiating interactions and warping animations in runtime. Make sure to add this component to your character:

<figure><img src="/files/MsStRvgdz3rhZassfF3X" alt="" width="410"><figcaption><p>Example of a set up Motion Warping component.</p></figcaption></figure>

Let's break down each property of this component:

* **Scale Play Rate**: whether to modify the original play rate; for example, if the distance is longer - the play rate will be reduced, if shorter - increased.
* **Play Animator**: whether to automatically play the animation via *Animator*.
* **Blend Time**: cross-fade blend in time for the animation.
* **OnWarpStarted**: called right before the interaction. Use it to disable collisions and other systems.
* **OnWarpEnded**: called right after the interaction. Use it to enable collision or movement.

## In Code

It is important to reference the **Motion Warping** component in your controller code:

```csharp
public class YourController : MonoBehaviour
{
    //...
    private MotionWarping _warpingComponent;
    //...

    private void Start()
    {
        //...
        _warpingComponent = GetComponent<MotionWarping>();
        //...
    }
}
```

We will use this component to start interactions. And more about that in the next chapter!&#x20;
