# Creating a puppet animation

{% hint style="info" %}
Before you begin to record a puppet animation, ensure that you know how to quickly open the editor panel to stop the recording. Otherwise, you may record undesired movements at the end of the recording. On a desktop device, press the Esc key. On a VR headset, press the menu button on the controller.
{% endhint %}

{% hint style="info" %}
You can choose whether the animation that you create uses linear or smooth (Bézier) interpolation between keyframes. For more information, see [Creating a puppet animation](/engage/experience-editor/creating-animations/puppet-animation/creating-a-puppet-animation.md).
{% endhint %}

1. Select an object.
2. Move the play head to the time when you want you start your animation.
3. On the editor panel, select **Record puppet**.
4. During the countdown warning, grab the object and prepare to create the animation.
5. After the countdown warning reaches zero, move the object to enact the animation.
6. After you complete the animation sequence, open the editor panel to stop the recording.

When you record a puppet animation, all other animations in the scene play in real-time. This helps you to coordinate your animations. The recorded puppet animation is saved as a series of keyframes, which you can then edit.

{% hint style="info" %}
You can record a puppet animation on a desktop device, but you will achieve much more natural and dynamic results if you use hand controllers with a VR headset.
{% endhint %}

![Example keys generated by a recorded  puppet animation](/files/6KRCh3plI11SSxXLtkam)


---

# 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://docs.engagevr.io/engage/experience-editor/creating-animations/puppet-animation/creating-a-puppet-animation.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.
