> 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/interaction-manager.md).

# Interaction Manager

To access the manager anywhere:

```csharp
InteractionManager manager = InteractionManager.singleton;
```

## Useful Properties

<table><thead><tr><th width="227">Property</th><th width="516">Description</th></tr></thead><tbody><tr><td><a href="/pages/Bn9Wf358JcFxmZTvoo8B">interactionKey</a></td><td>Input key used to <strong>trigger an interaction</strong>. Changing this updates the key used by the whole system.</td></tr><tr><td><a href="/pages/3mHppj82lfM37O1866Sw">throwableKey</a></td><td>Input key used to <strong>throw</strong> a grabbed object (Grab).</td></tr><tr><td><a href="/pages/mLeq2DxR1e4XDbLnwvsz">ObtainedKeys</a></td><td>Runtime list containing <strong>all keys the player has obtained</strong>. Use for checks, debugging, or custom UI.</td></tr></tbody></table>

## Useful Methods

<table><thead><tr><th width="227">Method</th><th width="516">Descrição</th></tr></thead><tbody><tr><td><a href="/pages/2L7E3m1mUwfujwP80Fa5">DestroyKey</a></td><td><strong>Destroys</strong> the given key object <strong>and removes it from</strong> <code>ObtainedKeys</code></td></tr><tr><td><a href="/pages/n37JzV5GKu1dVRczaRGo">SetInteractionDistance</a></td><td>Sets the <strong>maximum interaction distance</strong> used by the system. Takes effect globally.</td></tr><tr><td><a href="/pages/K61L393OreTXv6imh9wK">GetPlayerObject</a></td><td><strong>Resolves and assigns</strong> the current player <code>GameObject</code> in the manager (based on your configured detection method) and <strong>returns</strong> it. If you pass <code>objectThatInteracted</code>, it’s used as a shortcut.</td></tr><tr><td><a href="/pages/zZmKzVnArr1EeAg642XU">MissingKeysString</a></td><td>Returns a <strong>human-readable string</strong> listing all <strong>missing keys</strong> for the given <code>Interactable</code>, respecting <strong>And/Or</strong> operators. Example format: <code>Key 1, Key 2 or Key 3, Key 4</code></td></tr><tr><td><a href="/pages/Nl1s36OxwQJM0hcSMLcW">GetMissingKeys</a></td><td>Returns <strong>structured info</strong> about missing keys. Each tuple contains the <strong>specific <code>Key</code></strong> (when a condition requires a specific key) or a <strong>name string</strong> (when the condition is name-based). One of the tuple items will be <code>null</code>.</td></tr></tbody></table>
