> For the complete documentation index, see [llms.txt](https://dmitriy-vergasov.gitbook.io/character-interaction-system-extended-1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dmitriy-vergasov.gitbook.io/character-interaction-system-extended-1/character-interaction-system/side-object-actions.md).

# Side Object Actions

The **CISInteractionObjectAction** class is utilized for performing various actions with an interactive object.&#x20;

This could involve playing animations, sounds, spawning some FX, dropping loot, etc.&#x20;

Create a subclass of **CISInteractionObjectAction**.

<div align="left"><figure><img src="https://content.gitbook.com/content/2dSVQrBTULY7cYFC6ELP/blobs/fHP3lOhc8yjC1W2yZB5U/image.png" alt=""><figcaption></figcaption></figure></div>

You will have access to two functions for overriding. The first one will be called when the action starts executing, and the second one will be called when it has finished.&#x20;

To consider an action completed, you need to call the **FinishAction** function.

<div align="left"><figure><img src="https://content.gitbook.com/content/2dSVQrBTULY7cYFC6ELP/blobs/bctPbKhlCpqi66Liissj/image.png" alt=""><figcaption></figcaption></figure></div>

<figure><img src="https://content.gitbook.com/content/2dSVQrBTULY7cYFC6ELP/blobs/MvHY14K7NqJ0ufqwtuK4/image.png" alt=""><figcaption></figcaption></figure>

Example of implementing an action to play an animation on the interaction object and character. After the animation has played, the action is completed

<figure><img src="https://content.gitbook.com/content/2dSVQrBTULY7cYFC6ELP/blobs/4Fi3aiblYdXDalLgEHIE/image.png" alt=""><figcaption></figcaption></figure>

Result:

<div align="left"><figure><img src="https://content.gitbook.com/content/2dSVQrBTULY7cYFC6ELP/blobs/8K0fD7LbPqzb1rkG7upS/bandicam%202023-10-29%2017-10-30-695.gif" alt=""><figcaption></figcaption></figure></div>
