# ExistentGripComponent

[ExistentDocumentation](https://gitlab.com/lightgarden-studios/existent-documentation/-/blob/v0.1.0/resources/BPNodes/index.md) > ExistentGripComponent

## ExistentGripComponent

### Class Details

**Defined in:** Public/Components/ExistentGripComponent.h

**Hierarchy:** *Object > ActorComponent > SceneComponent > ExistentGripComponent*

A grip component represents a single grip in a tracked object. Grip components are discovered and used by the existent grab component which uses the grip data to provide the existent hand component with the final wrist transform when a grip is used.

### Properties

|                             |                               |                                                                                                                                                                                                                                                            |
| --------------------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| bool                        | AltTransform                  |                                                                                                                                                                                                                                                            |
| bool                        | ApplytoEitherHand             | When enabled, this grip will apply to either hand. "Hand" property should still be set to Left or Right, but the grip will work for either. NB: To check this at runtime, call CanApplyToEitherHand().                                                     |
| UExistentHandBoneMappings\* | BoneMappings                  |                                                                                                                                                                                                                                                            |
| float                       | CircleGripShapeAngle          | EDITOR ONLY THIS VALUE HAS NO EFFECT AT RUNTIME This value let's you preview what the grip would look like while using the circle grip shape if the hand was coming from an angle different from the one provided by the default grip component transform. |
| EExistentPosAxis            | CircleUpVector                | The circle up vector direction (world space) from the attach parent.                                                                                                                                                                                       |
| float                       | CylinderHeight                | The height of the cylinder both up and down from the centre point.                                                                                                                                                                                         |
| bool                        | DoCollisionChecks             | Should the grip automatically generate a pose for the hand?                                                                                                                                                                                                |
| bool                        | DrawGripForeground            | EDITOR ONLY THIS VALUE HAS NO EFFECT AT RUNTIME When drawing this grip in editor should we draw it on the foreground?                                                                                                                                      |
| bool                        | EnableUpsideDownGrip          | Whether to allow this grip to automatically calculate the upside down position of the hand.                                                                                                                                                                |
| bool                        | Enabled                       | Is this grip enabled? If not it won't be considered by the grab component.                                                                                                                                                                                 |
| UAnimSequence\*             | FinalGripPose                 | The (optional) final grip pose to use if the grip does not automatically generate a pose.                                                                                                                                                                  |
| TArray                      | FingerCollisionCheckTypes     | Collision check type for each finger. When the hand poses while using this grip how should the hand check for collisions?                                                                                                                                  |
| bool                        | GenerateDynamicPose           | Should the grip automatically generate a pose for the hand?                                                                                                                                                                                                |
| UAnimSequence\*             | GripPose                      | The intermediate grip pose to use if the grip does not automatically generate a pose.                                                                                                                                                                      |
| EExistentGripShape          | GripShape                     | The grip shape indicates how this grip will generate the final grip transform.                                                                                                                                                                             |
| EExistentHand               | Hand                          | Which hand does this grip belong to? Left or right?                                                                                                                                                                                                        |
| bool                        | OnlyDrawHand                  | EDITOR ONLY THIS VALUE HAS NO EFFECT AT RUNTIME Should the preview mesh only draw the hand instead of the full body                                                                                                                                        |
| bool                        | OtherHand                     |                                                                                                                                                                                                                                                            |
| USkinnedAsset\*             | OverrideSkeletalMesh          | EDITOR ONLY VALUE HAS NO EFFECT AT RUNTIME Optional skeletal mesh to override the grip preview mesh. By default the hand bone mappings preview mesh is used but you can override it using this property.                                                   |
| TArray                      | OverrideSkeletalMeshMaterials | EDITOR ONLY VALUE HAS NO EFFECT AT RUNTIME Optional array of materials to set on the grip preview mesh. By default the hand bone mappings preview mesh materials are used but you can override them using this property.                                   |

### Nodes

|                                                                                                                                                                                     |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Assign On Player Object Drop](/documentation/resources/existent-api/index/existentgripcomponent/adddelegate_bind_event_to_on_player_object_drop.md)                                |
| [Assign On Player Object Pickup](/documentation/resources/existent-api/index/existentgripcomponent/adddelegate_bind_event_to_on_player_object_pickup.md)                            |
| [Bind Event to On Player Object Drop](/documentation/resources/existent-api/index/existentgripcomponent/adddelegate_bind_event_to_on_player_object_drop.md)                         |
| [Bind Event to On Player Object Pickup](/documentation/resources/existent-api/index/existentgripcomponent/adddelegate_bind_event_to_on_player_object_pickup.md)                     |
| [Get Wrist Offset](/documentation/resources/existent-api/index/existentgripcomponent/getwristoffset.md)                                                                             |
| [Get Wrist Rotation](/documentation/resources/existent-api/index/existentgripcomponent/getwristrotation.md)                                                                         |
| [Is Enabled](/documentation/resources/existent-api/index/existentgripcomponent/isenabled.md)                                                                                        |
| [Is Parent Moving](/documentation/resources/existent-api/index/existentgripcomponent/isparentmoving.md)                                                                             |
| [Project Component Transform on Circle Grip Shape](/documentation/resources/existent-api/index/existentgripcomponent/projectcomponenttransformoncirclegripshape.md)                 |
| [Project Component Transform on Cylinder Grip Shape](/documentation/resources/existent-api/index/existentgripcomponent/projectcomponenttransformoncylindergripshape.md)             |
| [Project Component Transform on Grip Shape](/documentation/resources/existent-api/index/existentgripcomponent/projectcomponenttransformongripshape.md)                              |
| [Set Enabled](/documentation/resources/existent-api/index/existentgripcomponent/setenabled.md)                                                                                      |
| [Unbind Event from On Player Object Drop](/documentation/resources/existent-api/index/existentgripcomponent/onplayerobjectdrop.md)                                                  |
| [Unbind Event from On Player Object Pickup](/documentation/resources/existent-api/index/existentgripcomponent/onplayerobjectpickup.md)                                              |
| [Unbind all Events from On Player Object Drop](/documentation/resources/existent-api/index/existentgripcomponent/cleardelegate_unbind_all_events_from_on_player_object_drop.md)     |
| [Unbind all Events from On Player Object Pickup](/documentation/resources/existent-api/index/existentgripcomponent/cleardelegate_unbind_all_events_from_on_player_object_pickup.md) |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.existent.com/documentation/resources/existent-api/index/existentgripcomponent.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
