> For the complete documentation index, see [llms.txt](https://hiveminddocs.gitbook.io/hivemind/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hiveminddocs.gitbook.io/hivemind/code-systems/ultimate-interaction-system-uis/classes/interfaces/interaction-interface.md).

# Interaction Interface

The default Interactable Actor that comes with this system (`BP_BUIS_Interactable`) is set up with this interface already, but if you need or want to create your own interactable then you'll need to add this interface to your Interactable Actor.

## <mark style="color:blue;">Setting up your own Interactable Base Class</mark>

Head to your custom interactable class then go into the Class Settings Menu and then in the details panel look under Implemented Interfaces, and add the `BPI_BUIS_InteractionInterface`.

<figure><img src="/files/Im0t0pLZw3Xz1jxEiIUf" alt=""><figcaption></figcaption></figure>

You will now have four different functions underneath the Interfaces in the category to the left. The most important ones is the <mark style="color:yellow;">Get Interaction Component</mark> and <mark style="color:yellow;">Can Interact</mark>.

These are required for any form of interaction to take place.

* <mark style="color:yellow;">Get Interaction Component</mark>: Allows any entity in the game to easily get access to the interaction component of your Interactable.
* <mark style="color:yellow;">Can Interact</mark>: Determines whether or not this interactable can be interacted with. This must return true or you won't be able to interact with your interactable.
* <mark style="color:yellow;">Highlight Interactable</mark>: Allows you to set up any logic you require for highlighting your interactable when its being detected.&#x20;
* <mark style="color:yellow;">Get Interaction Highlight Data</mark>: Allows you to set up text data which can then be retrieved by any entity in the game.

First you would need to open the <mark style="color:yellow;">Can Interact</mark> interface function and make sure that the return node returns true, or has the possibility or returning true. If this returns false (which it does by default), then it'll always fail to interact with this interactable.

Next you will want to return the <mark style="color:yellow;">Interaction Component</mark> in the <mark style="color:yellow;">Get Interaction Component</mark> interface function. If this isn't returning anything then the system will also fail to interact with your interactable.

<figure><img src="/files/M761YT9NrmWXvSVQCfyj" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/i4bEjk0y8bvIMVND9IvJ" alt=""><figcaption></figcaption></figure>

As soon as you've set these up then you'll be able to interact with your own Interactable actors.


---

# 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:

```
GET https://hiveminddocs.gitbook.io/hivemind/code-systems/ultimate-interaction-system-uis/classes/interfaces/interaction-interface.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.
