> For the complete documentation index, see [llms.txt](https://docs.infinityvoid.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.infinityvoid.io/guides/for-content-creators/unreal-engine-sdk/getting-started/multiplayer.md).

# Interactable Elements

**Infinity Void SDK** offers built-in functionality for enabling interaction with elements within your scene. To make actors interactable, there are two methods available:

### **BP\_InteractableBaseChild**

This blueprint simplifies the process of creating interactive elements in your scene. Here are the steps to make an actor interactable:

a. Duplicate the BP\_InteractableBaseChild blueprint.

<figure><img src="https://3066305863-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRuhnZziVCPlGpVrrdJYw%2Fuploads%2FIyneuPccDTnQmlF0sDya%2Fduplicate.png?alt=media&amp;token=e11cb2e6-257c-41d7-a65b-97cebbfd1ceb" alt=""><figcaption></figcaption></figure>

b. Open the blueprint editor.

c. Select the visual mesh you want to make interactable.

<figure><img src="https://3066305863-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRuhnZziVCPlGpVrrdJYw%2Fuploads%2FPilawB1uqMqVL7wfKRvG%2Fvisual%20mesh.png?alt=media&amp;token=8c09f54e-9376-4041-af78-a4a6322b41df" alt=""><figcaption></figcaption></figure>

d. Drag and drop the actor into your scene.

Inside the blueprint, you have the flexibility to:

* Add custom logic for interactions.

<figure><img src="https://3066305863-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRuhnZziVCPlGpVrrdJYw%2Fuploads%2FQ0s5HgAkibGau4ArtlDL%2Flogic.png?alt=media&amp;token=741b7e16-1185-41b4-9fcd-772183376b49" alt=""><figcaption></figcaption></figure>

* Modify the displayed text when the user aims at the object.
* Toggle interactability using a boolean, which can be useful for scenarios where you want to restrict user interaction with the actor based on certain events or conditions.

<figure><img src="https://3066305863-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRuhnZziVCPlGpVrrdJYw%2Fuploads%2FaKSWR5qQZLKB3weGgM2O%2FOptions%20IV.png?alt=media&amp;token=792c0018-2aef-4ad4-afb4-4f487f58c975" alt=""><figcaption></figcaption></figure>

### **IVIInteractable Interface**

If you want to make a class interactable other than actors, such as pawns, you can do so by following these steps:

To begin, navigate to the custom class you have created and open it.

If you wish to make this class interactable, rather than actor classes, follow these steps:

a. Open Class which you would like to make interactable.

b. Under Class Settings scroll down the Interface section, select `IVIInteractable`.

<figure><img src="https://3066305863-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRuhnZziVCPlGpVrrdJYw%2Fuploads%2FMicFhAvVlSVpzvaB6YXo%2Finterface.png?alt=media&amp;token=380d7ee8-1b37-45eb-a3a1-6ace6fb247dd" alt=""><figcaption></figcaption></figure>

c. Implement your unique interaction logic in the event graph.

<figure><img src="https://3066305863-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRuhnZziVCPlGpVrrdJYw%2Fuploads%2FM4Y0D7Jr8JHYLrWtXhTV%2Fcustom%20logic.png?alt=media&amp;token=6834b772-5035-4af3-a1b7-e5f314790fcf" alt=""><figcaption></figcaption></figure>
