| Provider | Description | Status |
|---|---|---|
Moves the selected interactable 1:1 with the interactor. | Stable | |
Animates the selected interactable to the interactor over time, at a rate set by its Travelling Data property. | Stable | |
Gradually pulls the selected interactable towards the interactor, and completes the movement if it is interrupted. | Stable | |
Moves the selected interactable around a fixed point at its current position. | Stable | |
Constantly moves the interactable at a fixed rate towards the interactor. | Stable | |
Moves the selected interactable along the grab axis, towards you as you draw your hand back and away as you push it forward. | Stable | |
Maps movement relative to an estimated position of the user’s heart and core. | Experimental | |
Uses joystick input to control the movement and rotation of an interactable. This is useful for examining an object up close and from different angles. | Stable | |
Links movement deltas from the interactor to the interactable. The interactable matches those transformations in its own local space. | Experimental | |
Moves the selected interactable anchored to the interactor at the hit point. The Unity Inspector offers to add this provider for ray interactables set up for grab. | Stable | |
Rotates the interactable along the movement delta of the interactor, without changing its position. | Experimental |
MoveFromTargetProvider moves the selected interactable 1:1 with the interactor.
MoveTowardsTargetProvider animates the selected interactable to the interactor over time, at a rate set by its Travelling Data property.
| Property | Default | Description |
|---|---|---|
Travelling Data | PoseTravelData.FAST | The PoseTravelData settings that control how the interactable travels to the interactor. |
PoseTravelData is a struct with three fields: a travel speed, a fixed travel time flag, and a travel curve.| Field | Description |
|---|---|
Travel speed | When attracting the object, indicates the rate it will take for the object to realign with the hand after a grab. |
Use fixed travel time | Changes the units of the travel speed. Disabled means m/s, while enabled is fixed seconds. |
Travel curve | An AnimationCurve. Both PoseTravelData.DEFAULT and PoseTravelData.FAST use an ease-in-out curve. |
PoseTravelData.FAST sets a travel speed of 0.1 with fixed travel time enabled. The travel always takes 0.1 seconds, no matter how far the interactable has to move. PoseTravelData.DEFAULT sets a travel speed of 1 with fixed travel time disabled. The interactable moves at 1 meter per second, so the duration scales with the distance.AutoMoveTowardsTargetProvider gradually pulls the selected interactable towards the interactor, and completes the movement if it is interrupted.
| Property | Default | Description |
|---|---|---|
Travelling Data | PoseTravelData.DEFAULT | The PoseTravelData settings that control how the interactable travels to the interactor. PoseTravelData.DEFAULT moves the interactable at 1 meter per second, so the duration scales with the distance. For the fields of PoseTravelData, see MoveTowardsTargetProvider. |
Pointable Element | None | A pointable element. This property is required. The provider asserts at startup if it is not assigned. |
MoveAtSourceProvider moves the selected interactable around a fixed point at its current position.
FollowTargetProvider constantly moves the interactable at a fixed rate towards the interactor.
| Property | Default | Description |
|---|---|---|
Speed | 5 | The rate at which the interactable moves towards the interactor. Speed also sets the rate at which the interactable turns to match the interactor’s rotation. That rate is 50 degrees per second for each unit of Speed. |
ObjectPullProvider pulls the selected interactable towards the interactor.
| Property | Default | Description |
|---|---|---|
Speed | 1 | The rate at which the interactable moves along the grab axis. |
Dead Zone | 0.02 | The minimum distance, in meters, that the interactor must move along the original grab axis before the interactable moves. Movement in either direction along that axis counts. Smaller movements produce no motion. |
CoronaryMovementProvider moves a selected interactable in a body-centered frame of reference rather than a hand-centered one. It estimates the position of the user’s heart and treats that point as a body-anchored pivot. The interactable sits at the far end of a rigid lever anchored at that pivot. The provider was designed for one specific grab integration, and it also works with ray interactions.| Property | Default | Description |
|---|---|---|
Hmd | None | A component that implements IHmd and supplies the head pose. You can leave this empty. The provider then finds a headset component in the scene at runtime. |
Occipital Offset | 0.1 | The offset (in meters) behind the headset position at which to estimate the point at the back of the skull. |
Coronary Offset | 0.4 | The offset (in meters) below the point at the back of the skull at which to estimate the pivot at the user’s heart. |
Depth Remapping Factor | 1.3 | The exponent applied to the depth ratio when the interactable moves toward or away from the pivot. Values above 1 exaggerate that motion. Values below 1 damp it. |
Billboard To Face User | false | Toggles whether the interactable turns to face the pivot when enabled, or rotates with the hand when disabled. |
Billboard Pitch Offset | 20 | Offsets the pitch of the rotation that is applied when the interactable turns to face the pivot. |
JoystickPoseMovementProvider uses joystick input to control the movement and rotation of an interactable. This is useful for examining an object up close and from different angles.| Property | Default | Description |
|---|---|---|
Interactable | None | A component that implements IInteractableView. |
Move Speed | 0.04 | The speed at which movement occurs. |
Rotation Speed | 1.0 | The speed at which rotation occurs. |
Min Distance | 0.1 | The minimum distance along the Z-axis for the grabbed object. Range: 0 to 10. |
Max Distance | 3.0 | The maximum distance along the Z-axis for the grabbed object. Range: 1 to 10. |
MatchTargetAtSourceProvider links movement deltas from the interactor to the interactable. The interactable matches those transformations in its own local space. It therefore rotates about its own origin instead of orbiting the hand.MoveFromTargetAtAnchorProvider moves the selected interactable anchored to the interactor at the hit point. The anchor holds the interactable where the ray first met it. The contact point stays under the pointer for as long as the selection lasts.PanToRotateProvider rotates the interactable along the movement delta of the interactor. This provider affects rotation only, and the position of the interactable does not change.| Property | Default | Description |
|---|---|---|
Sensitivity | 1 | The amount of rotation relative to hand movement. A value of 1 produces a full 360-degree rotation of the interactable per unit of hand movement. |