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

# Grab

## Main Tab

<figure><img src="/files/4aPP7nFMel6xmzHmK1co" alt=""><figcaption></figcaption></figure>

**Grab ID**: optional identifier used by [Grab Deposit](/press-e/manual/components/grab-deposit.md) to recognize specific grabbed objects. This is useful when a deposit should accept only certain objects, especially when multiple objects use the same prefab or similar setup.

### Distance

Controls where the object sits relative to the player.

* **Distance**: sets the **distance** between player and object.
* **Offset**: applies a positional **offset** (left/right, forward/back, up/down).
* **Scrolled Based Distance**: when **enabled**, the **scroll** adjusts the distance.
* **Scroll Multiplier**: how strongly the scroll **affects** the distance.
* **Distance Min Max**: clamps the distance with **min/max** so scrolling can’t push it too far.

### Physics

You can enable physics-based grab in this foldout, and it is importante to have a **Rigidbody**, because physics influences.

* **Player Helper Force**: helper force to keep the object **centered/stable**.
* **Linear Damping**: higher values mean **less positional wobble**.
* **Angular Damping**: higher values mean **less rotational wobble**.

### Can Place

Allows the player to place the grabbed object down in the world instead of only dropping it.

* **Prevent Dropping**: when enabled, the player cannot freely drop the object with the normal drop input. The object must be placed in a valid position instead.
* **Check Collision Before Placing**: checks if the object would collide before allowing it to be placed.
* **Align Normals**: aligns the object with the surface normal of the placement hit.
* **Visualize Object**: shows a preview/ghost object at the placement position before placing.
* **Use Manager Materials**: uses the Interaction Manager placement materials to show valid and invalid placement states.
* **Can Rotate Place Object**: allows the player to rotate the placement preview before placing the object.
  * **Rotation Axis**: axis used when rotating the placement preview.
  * **Calculate On Local**: when enabled, the placement rotation is calculated in local space. When disabled, it is calculated in world space.
  * **Override Turn Keys**: lets this object use custom placement rotation inputs instead of the manager defaults.
  * **New Turn Left:** custom input used to rotate the placement preview left.
  * **New Turn Right**: custom input used to rotate the placement preview right.
  * **Press Down**: when enabled, each input press rotates by one increment. When disabled, holding the input rotates continuously.
  * **Rotation Increment**: amount of rotation applied when turning the placement preview.

### Can Rotate

Allows the player to rotate the object while it is being grabbed.

* **Rotation Sensitivity**: controls how fast the object rotates from mouse movement.
* **Override Grab Rotate Keys**: lets this object use a custom rotation input instead of the manager default.
  * **New Grab Rotation**: custom input used to enter/hold grab rotation mode.
* **Show Cursor When Rotating**: shows the cursor while the object is being rotated.
* **Don’t Hide Cursor On Stop**: keeps the cursor visible after the player stops rotating the object.

### Transform

Controls how the grabbed object follows the player or a custom transform.

* **Override Grab Rotation**: applies a custom rotation when the object is grabbed.
  * **New Grab Rotation**: the rotation used when Override Grab Rotation is enabled.
* **Is Transform Based**: makes the grabbed object follow a transform reference instead of only using the distance/offset target.
* **Override Manager Transform**: lets this object use its own transform instead of the manager’s default grab transform.
  * **Grab Transform**: custom transform used as the grab reference when Override Manager Transform is enabled.
* **Transform Grab Instant** Follow: makes the object instantly follow the target transform.
  * **Transform Grab Follow** Sharpness: controls how quickly the object follows the target position when instant follow is disabled.
  * **Transform Grab Rotation** Sharpness: controls how quickly the object follows the target rotation when instant follow is disabled.

### Throw

Makes the object **throwable** when Throw is enabled.

* **Force**: strength applied to **throw** the object.
* **Throw Towards Aim**: **on** = throw **toward aim**; **off** = throw **straight ahead**.
  * **Distance (When Use Raycast Aim is false)**: distance used when not aiming with raycast.
* **Use Raycast Aim**: uses a **raycast** to aim and applies force **toward the hit**.
* **Hold Charge**: holding the button **charges** throw force.
  * **Force Clamp**: **min/max** limits for force.
  * **Time to Reach Max Force**: time to reach **max strength**.
  * **Use Curve**: apply a **curve** to shape the charge growth.
* **Can See Trajectory**: shows a **trajectory preview**.
  * **Points**: number of **points** on the line.
  * **Precision**: trajectory **accuracy** (100% = most detailed).
  * **Material**: line **material** (use your custom if desired).

### Camera stacking

Camera Stacking helps keep grabbed objects rendered on top of the environment, which can reduce clipping issues when the object is close to walls or geometry.

This feature must first be enabled in the Interaction Manager. When enabled, Grab objects are temporarily moved to the camera stacking layer while they are being held, then returned to their original layer when released.

* **Disable Camera Stacking**: disables camera stacking only for this object, even if Camera Stacking is enabled in the Interaction Manager.
* **Override Camera Layer**: lets this object use a custom layer instead of the manager’s default camera stacking layer.
* **New Cull Layer**: custom layer used when Override Camera Layer is enabled.

## UI Tab

### While Interacting

When using Grab, the **While Interacting** foldout appears under **UI Tab**:

* **Override Image Sprite**: change the **sprite** on the **UIPrefab**’s `Image`.
* **Override Image Color**: change the **color** on the `Image`.
* **Override Image Size**: change the **size** on the `Image`.
* **Override Interaction Prefab**: replace the **interaction prefab** to be instantiated.

## Events Tab

* **On End Event**: invoked **when the player releases** the object.

&#x20;
