DistanceGrabInteractor is the Interactor class for the distance grab interaction. It uses configurable IMovements to move grabbed objects, and it uses a DistantCandidateComputer in order to hover the best candidate.DistanceGrabInteractor uses different conical frustums to select the best distant interactables in a solid manner:FilteredTransform for the frustum origins to keep the frustums stable while allowing the wrist to turn in order to select nearby interactables.DistanceGrabInteractable is the Interactable class for the distance grab interaction. The Movement Provider field provides the versatility, which indicates how the interactable moves when selected If no value is provided, the interactable moves toward the interactor, and then attaches to the interactor and move in sync with it. To use other behaviors or create additional behaviors, implement the IMovementProvider class. The Movements folder includes a list of behaviors, but some of the most relevant ones include the following:| Movement Type | Movment Provider | Description |
|---|---|---|
Pull Interactable to Hand | MoveTowardsTarget | Causes the grabbed object to move from its current location to the hand or controller grabbing it using the specified velocity (Travel Speed) and easing curve (Travel Curve). |
Auto Pull Interactable to Hand | AutoMoveTowardsTarget | This behavior is similar to MoveTowardsTarget but this behavior will finish the movement toward the interactor even if the selection is interrupted. This behavior is useful for quickly attracting multiple objects toward the user. |
Grab Relative to Hand | MoveFromTarget | Keeps the grabbed object relative to the hand or controller using the offset when the grab is initiated. The grabbed object can be manipulated, but retains the initial offset. |
Manipulate in Place | MoveAtSource | Anchors the interactable at its current position when the grab is initiated. The grabbed object can be manipulated as if the hand jumped automatically to the interactable position and moved it from there. |
DistantInteractionLineVisual is used to draw a dotted line that connects the interactor with the currently hovered interactable. It is possible to modify the material and thickness of the line and it uses the PolylineRenderer class for the visuals.

