> 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/scripting/interactable.md).

# Interactable

## Useful Properties

<table><thead><tr><th width="227">Property</th><th width="516">Description</th></tr></thead><tbody><tr><td><a href="/pages/tJjeRSfVmeqRfWjS1y3x">interactMode</a></td><td>The interaction type used by this object (e.g., Drag, Grab, Hold, UnityEvent, Inspection). Not recommended to change at runtime.</td></tr><tr><td><a href="/pages/tUcwwHi4bbDK1HCSy1hG">maxInteractions</a></td><td><p>Maximum number of interactions allowed. Compared against <code>interactionTimes</code></p><p> if <code>interactionTimes</code> ≥ <code>maxInteractions</code>, interaction is blocked.</p></td></tr><tr><td><a href="/pages/fcPRTcZ5cvqyL6Jco36r">UseConditions</a></td><td>Enables evaluation of this Interactable’s <strong>Conditions</strong> at runtime.</td></tr><tr><td><a href="/pages/KYDAP9ZwnwShqr1PwAO9">maxHoldInteractions</a></td><td>Maximum number of completed <strong>Hold</strong> interactions available. Decrements each time a Hold finishes. Requires <code>hasMaxHoldInteractions</code> to enforce a cap.</td></tr><tr><td><a href="/pages/RTrmtRSwpjJcfUZTHFnI">canSeeThrowTrajectory</a></td><td>(<a href="/pages/V037LIluRRiQT4A1ha93">Grab</a> only) Shows the <strong>throw trajectory preview</strong> when enabled.</td></tr><tr><td><a href="/pages/NPOPi9z6Z61tQiROOWsG">PhysicsGrabMode</a></td><td>(<a href="/pages/V037LIluRRiQT4A1ha93">Grab</a> only) Shows/sets if a grab interactable should calculate physics if true, or if it should be a simple grab interaction.</td></tr><tr><td><a href="/pages/TtXjTJcC1PAUReMIzymV">DragLocked</a></td><td>(<a href="/pages/LMQyw3YPaMhG4SPKz19h">Drag</a> only) Indicates if the object is currently <strong>locked</strong>. Read-only in practice (use <code>SetDragLocked()</code> to set)</td></tr></tbody></table>

## Useful Methods

<table><thead><tr><th width="227">Method</th><th width="516">Description</th></tr></thead><tbody><tr><td><a href="/pages/kZ6ZdJbJOpRxIi0gDUM8">SetCanInteract</a></td><td>Enables/disables the object’s ability to be interacted with (useful to block or re-enable interactions at runtime).</td></tr><tr><td><a href="/pages/ob5QhY9BGRQR4YeW6jNF">AddConditionConst</a></td><td>Adds a condition <strong>comparing a member to a constant value</strong>. Overloads accept either a component directly or a GameObject + component type. From the second condition onward, set <code>LogicalJoin</code> (And/Or).</td></tr><tr><td><a href="/pages/xqm1m9wF8NDagJVjapBr">AddConditionDynamic</a></td><td>Adds a condition <strong>comparing two members</strong> (left vs. right). Overloads accept components directly or GameObject + component type. From the second condition onward, set <code>LogicalJoin</code> (And/Or).</td></tr><tr><td><a href="/pages/KEVDZrSkNWPXIjMlfbyd">AddKeyCondition</a></td><td>Adds a <strong>key condition</strong> by key <strong>name</strong> or by a specific <strong>Key</strong> component. Use <code>LogicalJoin</code> from the second condition onward.</td></tr><tr><td><a href="/pages/RibohFefVUZyLdXgRPdg">SetDragLocked</a></td><td>(<a href="/pages/LMQyw3YPaMhG4SPKz19h">Drag</a> only) <strong>Locks/unlocks</strong> the drag object (doors, drawers, etc.).</td></tr><tr><td><a href="/pages/c0waDohAxREMOD8NxvK2">GetSliderValue</a></td><td>(<a href="/pages/LMQyw3YPaMhG4SPKz19h">Drag</a> with Slider) Returns/exposes the current <strong>Slider</strong> value.</td></tr><tr><td><a href="/pages/LfDWxX8Q0HeuWMFsSuut">DebugMessage</a></td><td>Prints a log message. Designed for <strong>Unity Events</strong>; in code prefer <code>Debug.Log()</code>.</td></tr></tbody></table>
