VR Grabbable

In depth learning on Basic Scene Configuration can be found in this course in Motive Academy.

Makes an object “Grabbable” using the grip button on a VR controller.

Note that many of these settings are overridden by any VR Attachable that’s attached to this object. See Attachables.

Fields

Name

Description

Name

Description

Show When Grabbed

Objects to show when the item is grabbed.

Show When Not Grabbed

Objects to show when the item is not grabbed.

Grab Anchor

A transform that defines the grab position of the object for either hand. Will align with the Grip Position of the grabber.

Left Hand Grab Anchor

A transform that defines the grab position of the object for the left hand.

Right Hand Grab Anchor

A transform that defines the grab position of the object for the right hand.

Usable Object

Associates this grabbable with a Usable Object (see Usable World Objects )

World Object

Associates this grabbable with a World Object Behaviour.

Allow Distance Grab

Allow the object to be grabbed from a distance.

Only Grabbable When Targeted

If set, the object is only grabbable if it is currently targeted by an Object Interaction or other Interactible Resource.

Allow Offhand Grab

Allow the object to be switched from one hand to the other.

Snap Position

Whether to “snap” the object to the grabber’s position. This is often useful for distance grab, but not as natural for proximity grab. One of:

Never: Leave the object in its starting place. Object will float and move at a distance from the grabber.

Distance Only: Only snap if user is grabbing object from a distance.

Always: Always snap the object.

Snap Orientation

Same as Snap Position, but for the object’s rotation.

Ignore Offhand Snap

If set, do not snap when switching hands (generally should be set to false for natural handoff).

Track Position

If set, track the grabber’s position.

Track Orientation

If set, track the grabber’s orientation.

Grab Points

If set, defines the colliders that represent the object’s grab points. By default uses any colliders in the object hierarchy.

Distance Grab Colliders

If set, defines a different set of colliders for detecting distance grab.

Highlight When Held

If set, the object will be highlighted when held. See Object Highlighting.

Limit Move Axis

If set, limits the move axis set below. (Note that this is often better handled using joints or limits on the Rigidbody.)

Move Axis

The axis to limit motion.

Grab Requirements

Detailed requirements for how this item can be grabbed. All must be met for the grab to succeed.

Hand: Hand to use

Target Name: A named “Grab Area.” Used by Equip Targets (e.g. grab at right shoulder).

Grab Points: An array of colliders that satisfies this requirement.

Required Hand

The hand that user must use for grabbing.

Rigidbody

The Rigidbody used by this Grabbable.

Grab Highlight Object

If set, use this object to apply any highlights.

Release Behavior

Return - object is returned to where it was picked up

Use Physics - object acts as a normal rigid body, can be thrown, dropped, etc.

Delayed Return with Physics - object acts as a normal rigid body for a brief period (typically 1s), then is returned to where it was picked up

Leave in Place - object is left where it was let go

Leave and Reset Rigidbody - object is left where it was let go and Rigidbody is reset to its initial settings

Physics then Kinematic - Use physics until the object comes to rest, then set the Rigidbody to Kinematic. This is good for allowing a natural physics reaction when letting go, but then disabling physics so that you avoid awkward collisions, etc.

Use Gravity on Release

Whether to apply gravity on release. This allows you to create a rigid body that otherwise ignores gravity, but allows you to apply gravity on release so that the object can be dropped.

Working Surfaces Only

If true, this object will only say on surfaces marked as a “Working Surface” (see World). If it uses physics on release and lands on a non-working surface, it will return to where it was picked up.

Release When Stuck

If true and Move Mode = “Physics”, then release the object if it gets “stuck”.

Release When Stuck Distance

How far the grabber moves away from the object before it’s considered “stuck”.

Release When Stuck Time

How long the object has to be stuck (i.e. more than Release When Stuck Distance away from the grabber) before it is released.

Move Mode

How the object is moved by the Grabber

Kinematic: Object Rigidbody is set to Kinematic and object transform is directly updated.

Physics: Grabber uses physics to move the object, allowing it to get “stuck,” etc.

Static: Object does not move.

Events

Name

Description

Name

Description

On Grab Begin

Grabber has grabbed the object.

On Grab End

Grabber has released the object.

On Grab Focus Begin

Object is focused by the Grabber as a candidate to be grabbed.

On Grab Focus End

Object is no longer a candidate to be grabbed.

On Grab Click

User has clicked the trigger button while holding the object (trigger down & up).

On Grab Trigger Down

User has pressed the trigger button down while holding the object.

On Grab Trigger Up

User has released the trigger button while holding the object.

Rigidbodies

Grabbables require a Rigidbody. Although not a Motive component, it’s important to understand how Rigidbody properties affect the Grabbable.

Name

Description

Name

Description

Mass, Drag, Angular Drag

Physics parameters that affect how the object behaves when physics is applied.

Use Gravity

Whether the object is subject to gravity.

Is Kinematic

Kinematic objects are ignored by the physics system. Note that this and “use gravity” can be temporarily overridden by the VR Grabbable to create more natural release behaviour for kinematic objects.

Colliders

VR Grabbables require one or more colliders to detect the grab intent and action. The colldier may or may not be configured as a trigger.

Related Articles

Unity Components