> For the complete documentation index, see [llms.txt](https://fast-studios.gitbook.io/press-e/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fast-studios.gitbook.io/press-e/manual/components/interactable.md).

# Interactable

This script defines **which interaction type** a specific object uses. Add it to **every object** that should be interactive. For behavior details of each mode, see **Interaction Types**.

The selected interaction type determines **which fields are shown,** only what’s needed for that mode. In this documentation, the specific settings are split into four subpages:

* [**Unity Event**](/press-e/manual/components/interactable/unity-event.md)
* [Hold](/press-e/manual/components/interactable/hold.md)
* [Grab](/press-e/manual/components/interactable/grab.md)
* [Drag](/press-e/manual/components/interactable/drag.md)
* [Inspection](/press-e/manual/components/interactable/inspection.md)

## Main Tab

All interaction types expose the **Conditions** foldout. Enable it to reveal the list and **add** as many conditions as you need. See [**Conditions**](/press-e/manual/conditions.md) for details.

## UI Tab

Everything related to **UI** lives here. For any interaction type, you can enable **Screen Space Prompt** and **World Space Prompt**. See the [**UI**](/press-e/manual/ui.md) section for more details.

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

### Screen Space Prompt

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

* **Offset**: apply a local offset for this interaction.
* **Override Manager Prefab**: have this interaction use a **specific** prefab. *(The prefab must include* [***UIPrefab***](/press-e/manual/components/ui-prefab.md)*.)*

### World Space Prompt

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

Open the foldout and check **enabled**. Key fields:

* **Layer**: useful when multiple UIs exist via the sensor and you need **priority** (higher layer = higher priority).
* **Override Prefab**: use a **specific prefab** for this interaction. *(Prefab must contain* [***UIPrefab***](/press-e/manual/scripting/ui-prefab.md)*.)*
* **Offset**: local offset for this interaction.
* **Has Scale Min Max**: since the position adapts to the **object**, scale can change; set **min** and **max** bounds.
* **Fixed World Size**: when **on**, the UI appears with a **constant size** regardless of distance. When **off**, the size visibly varies with distance.
* **Will Override UI Anchor**: UI uses the object’s **default anchor**; if the Interactable has a **new anchor**, it will use that. If you need a **UI-specific anchor**, assign it here. You can type the values, click the button to **create** a new anchor in place, or drag a **Transform**.
* **Override Prompt Message**: replaces the message shown in **Interaction Text** of the **UIPrefab**.
* **Condition Declined** *(when **Conditions** is enabled)*: message displayed when the condition is **not** met.

## Events Tab

* **On Raycast Enter/Exit**: great for outline/highlight effects.
* **On Interact Event**: fired when the player presses the interaction key. *(Different from **Unity Event** mode, which fires immediately.)*
* **Condition** *(when **Conditions** is enabled)*:
  * **Decline**: called when the player tries to interact and **fails**.
  * **Accept**: called when the player tries to interact and **succeeds**.
  * **On Condition Attended**: called when the requirement becomes met (e.g., the player just collected the last required key).

## Settings Tab

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

### Override Key

If this object needs a **different keybind** to interact, set the override here.

### Max Interactions

Define a **hard limit** of interactions (e.g., permanently locking a door after X uses).

### Sensor

Use when an interaction may be triggered from **farther away** and/or without looking directly at the object.

* **Type: Radius | Distance**: choose the **check method** (math radius check / inside-radius vs. **Unity’s Vector3.Distance**).
* **Radius/Distance**: sets the **radius/distance** to interact.
* **Only Show UI**: when **on**, the player **can’t interact** just by being inside the radius/distance (outside the default “look-at” rule), but the UI **will appear** once inside the allowed range defined by the Manager.

### Auto interact

When enabled, looking at the object triggers the interaction **automatically**. If a **Sensor** exists, entering the sensor can also trigger it.

### New Anchor

To set a **new anchor** (e.g., for a door), enable the feature. You can **type** values, **click the button** to create an anchor in place, or **drag** a Transform. See **Setting new anchors** for more.

### Gizmos

Depending on the mode/configuration, helpful **gizmos** appear to assist setup. You can **enable/disable** them here and choose to show gizmos **only when selected**, etc.
