# iMove Interactable

{% hint style="info" %}
Ensure there is a collider on your interactable object to represent the interactable distance.\
(Optional) Place an audio source which can be triggered On Interact Started.
{% endhint %}

## iMove Interactable  <img src="https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2F719LnLI0VbROwks3iCt3%2Fimage.png?alt=media&#x26;token=8bc51204-2d9a-4114-9707-24bb5ad52001" alt="" data-size="line">

iMove Interactable ![](https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2FFWeeuHOclicGJElrnhjr%2Fimage.png?alt=media\&token=2f0f0154-a152-45ac-84af-fad87dfa4106) is a component to be placed on an object that allows the player to interact with that object. iMove Interactable, requires an ![](https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2FTur9A0A4v7aecnAAXSGM%2Fimage.png?alt=media\&token=6bc2d773-548d-488d-acc9-14e881efcf4f) Interact Component.<br>

<figure><img src="https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2Fl78SHKqb6vPHp6iXepKk%2Fimage.png?alt=media&#x26;token=943b31cb-85da-4795-b164-02b36c760e7b" alt=""><figcaption></figcaption></figure>

## ![](https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2Fn9CWIFn5xPW35oHXRJ20%2Fimage.png?alt=media\&token=9be74cdf-fe5d-4af0-9c0b-720704303134) Interact Components

There are a few pre-made interact components to help you get started, however you can also make these from scratch via code if needed. Place this on your object and drag and drop it as a reference for your iMove Interactable component.

![](https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2F9UzEsQFR2ukwaaRKimTp%2Fimage.png?alt=media\&token=ba5506d4-9b40-45df-a9a7-ca5a8f85321a)&#x20;

## ![](https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2FpHLgyd5dDIyDOBRCoOLZ%2Fimage.png?alt=media\&token=5aabe2e1-2fdb-4f23-8d35-953a049aad8b) **Change Character Interact**&#x20;

This is for interacting with an object in the world in order to change your character.\
When the player interacts with this component, it will change their character to the selected character index.

<figure><img src="https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2F7KM4vW0HyaY5olX9snZB%2Fimage.png?alt=media&#x26;token=2652932f-ba71-4a51-9368-acfc613b13d7" alt=""><figcaption></figcaption></figure>

## ![](https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2FabaLMfaOe4UZ6TlA0rf8%2Fimage.png?alt=media\&token=ee2702c6-7462-4962-bcfd-c124162eea81) Follow Player Interact

This is for following players or objects. When the player interacts with this, iMove NPC will take over and have the player follow that object.&#x20;

For the NPC's in the demo scenes, I have placed this on a child object of the player; in order to have a reasonably sized sphere collider for interacting with.

<figure><img src="https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2Fae8vWDAbmqDrB9ebqD6C%2Fimage.png?alt=media&#x26;token=75892582-31c8-47d2-810a-322a3954b396" alt=""><figcaption></figcaption></figure>

## ![](https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2FYDZi4HdcQepipTANe7mr%2Fimage.png?alt=media\&token=919c3ca2-7c24-4572-85e0-2a6156e443ee) Universal Animation Interact

This is for firing custom animations that have been placed in the animator. This supports NPC movement to the start location where it will then play the animation sequence.

### Step 1 (Add animations to your animator)

{% hint style="warning" %}
Never modify iMoves files directly. Make a copy of the animator then store that copy somewhere in your project. Modifying an original iMove file may result in your data being overridden when iMove pushes an update.
{% endhint %}

Within your animator controller, create a state machine for your animation sequence. ![](https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2FgZsZ3aEEuKqGXxAi0KFi%2Fimage.png?alt=media\&token=eee44287-8625-44e6-8a14-a8f0f2ab6bf6)\
\
If your animation sequence has more than one animation, it should look something like this:&#x20;

<figure><img src="https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2FMHUPwgR4Yd9F4Ggjv9V2%2Fimage.png?alt=media&#x26;token=f16dab51-65a8-4e66-aa36-d5c3fd36408b" alt=""><figcaption></figcaption></figure>

### Step 2 (Add the Interact Component)

{% hint style="info" %}
Make sure your collider is very large so that it even overlaps into the ground. This way the player is fully inside the collider.&#x20;
{% endhint %}

1. Ensure there is an iMove Interactable on your object, then place the Universal Animation Interact on your object.

<figure><img src="https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2F9KW6VogYOHRecNCcQvyo%2Fimage.png?alt=media&#x26;token=88eaaff0-55e9-4944-a46d-0034ac859152" alt=""><figcaption></figcaption></figure>

2. Drag the newly placed interact component into the reference of the iMove Interactable.
3. Fill out the Universal Animation Interact options.

{% hint style="info" %}
Use NPC: Will move the player as if it were an NPC to the target destination before starting the animation.&#x20;
{% endhint %}

<figure><img src="https://2455864889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAXfTdBipbBrJWcQRsEPv%2Fuploads%2FeG3q5pklbTsoPKPI2Td2%2Fimage.png?alt=media&#x26;token=ffcbc648-7395-43e2-ba60-e45683455323" alt=""><figcaption></figcaption></figure>


---

# 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/components/imove-interactable.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.
