Controls from which directions a poke interaction can trigger this Interactable along the X-axis:
Controls from which directions a poke interaction can trigger this Interactable along the Y-axis:
Controls from which directions a poke interaction can trigger this Interactable along the Z-axis:
Determines whether this Interactable can be simultaneously controlled by multiple Interactors. When false, only one Interactor type (e.g., left hand or right hand) can interact with this Interactable at a time, and subsequent interaction attempts from different Interactors will be blocked. Set to true to enable interactions from multiple sources simultaneously, such as allowing both hands to manipulate the Interactable at once.
ReadonlyapiGeneric object accessible by other instances of ScriptComponent. Use this object to store references to properties and methods that need to be accessible from other ScriptComponents.
Provides all colliders associated with this Interactable.
If disabled, the Component will stop enacting its behavior.
Enable this to allow the Interactable to instantly be dragged on trigger rather than obeying the Interactor's drag threshold.
Enable Poke Directionality to help prevent accidental interactions when users approach from unwanted angles.
When enabled, this Interactable ignores any parent InteractionPlane and factors into the cursor's position and targetingVisual. Use when the Interactable is parented for organization but not spatially within that plane.
ReadonlyisReturns true if this Component, its SceneObject, and all of that SceneObjects parents are enabled.
A flag that enables scroll interactions when this element is interacted with. When true, interactions with this element can scroll a parent ScrollView that has content extending beyond its visible bounds.
Defines the singular source of truth for feedback + UI + cursor components to poll to check if the Interactable should exhibit sticky behavior during trigger (cursor locks on Interactable, remains in active visual state even after de-hovering).
Called when an interactor was in a down event with this interactable and was dragging.
Called when an interactor is in a down event with this interactable and has moved a minimum drag distance.
Called when an interactor is in a down event with this interactable and is moving.
Called whenever the interactable enters the hovered state.
Called whenever the interactable is no longer hovered.
Called whenever an interactor remains hovering over this interactable.
Called whenever a new interactor hovers over this interactable.
Called whenever an interactor exits hovering this interactable.
Called whenever an interactor is no longer triggering the interactable while the interactor is hovering it.
Called whenever an interactor is no longer triggering the interactable while the interactor is not hovering it.
Called whenever an interactor triggers an interactable.
Called when an interactor was in a down event with this interactable and was dragging from another connection.
Called when an interactor is in a down event with this interactable and has moved a minimum drag distance from another connection.
Called when an interactor is in a down event with this interactable and is moving from another connection.
Called whenever the interactable enters the hovered state from another connection.
Called whenever the interactable is no longer hovered from another connection.
Called whenever an interactor remains hovering over this interactable from another connection.
Called whenever a new interactor hovers over this interactable from another connection.
Called whenever an interactor exits hovering this interactable from another connection.
Called whenever an interactor is no longer triggering the interactable while the interactor is hovering it from another connection.
Called whenever an interactor is no longer triggering the interactable while the interactor is not hovering it from another connection.
Called whenever an interactor triggers an interactable from another connection.
Called whenever an interactor is lost and was in a down event with this interactable from another connection.
Called whenever the interactable exits the triggered state while the interactor is hovering it from another connection.
Called whenever the interactable exits the triggered state while the interactor is not hovering it from another connection.
Called whenever the interactable enters the triggered state from another connection.
Called whenever an interactor continues to trigger an interactable from another connection.
Called whenever an interactor is lost and was in a down event with this interactable.
Called whenever the interactable exits the triggered state while the interactor is hovering it.
Called whenever the interactable exits the triggered state while the interactor is not hovering it.
Called whenever the interactable enters the triggered state.
Called whenever an interactor continues to trigger an interactable.
ReadonlysceneThe SceneObject this component is on.
ReadonlysyncDefines how an interactor can interact with this interactable. Values are: 1: Direct: Only allows close pinch interactions where a hand directly touches the Interactable. 2: Indirect: Allows interactions from a distance with raycasting. 3: Direct/Indirect: Supports both direct and indirect interaction methods. 4: Poke: Enables finger poking interactions. 7: All: Supports all targeting modes (Direct, Indirect, and Poke).
Sets the preferred targeting visual. (Requires the V2 Cursor to be enabled on InteractorCursors).
ReadonlyuniqueDetermines if the Interactable should listen to filtered pinch events when targeted by a HandInteractor. Filtered pinch events are more stable when the hand is quickly moving but may add latency in non-moving cases. Most interactions should use raw pinch events by default. Spatial interactions with large hand movement (such as dragging, scrolling) should use filtered pinch events. If an Interactable has a parent Interactable that uses filtered pinch events, the Interactable will also use filtered pinch events.
Interactors that are hovering this interactable
Returns the connection ID of the first triggering Interactor if in a Connected Lens.
Interactors that are triggering this interactable
Adds a new SceneEvent, triggered by eventType events, to the ScriptComponent.
Destroys the component.
Notifies the interactable that it is exiting a dragged state with the interactor
event parameters, with omitted interactable
Notifies the interactable that it is in a dragged state with the interactor
event parameters, with omitted interactable
Returns the SceneObject the component is attached to.
Returns the Transform this component is attached to.
StaticgetReturns the name of this object's type.
Notifies the interactable that it is entering hover state
the interactor that is driving the event Interactor
Notifies the interactable that it is exiting hover state
event parameters, with omitted interactable
Notifies the interactable that it is still hovering
event parameters, with omitted interactable
if this Interactable is a descendant of the given Interactable.
Returns true if the object matches or derives from the passed in type.
Returns true if this object is the same as other. Useful for checking if two references point to the same thing.
Removes a previously added SceneEvent from the ScriptComponent.
Notifies the interactable that it is a cancelled state with the interactor
event parameters, with omitted interactable
Notifies the interactable that it is exiting trigger state while the interactor is hovering it
event parameters, with omitted interactable
Notifies the interactable that it is exiting trigger state while the interactor is not hovering it.
event parameters, with omitted interactable
Notifies the interactable that it is entering trigger state
event parameters, with omitted interactable
Notifies the interactable that it is still in a triggering state
event parameters, with omitted interactable
This class represents an interactable object that can respond to various interaction events such as hover, trigger, and drag. It provides event handlers for these interactions and uses the InteractionConfigurationProvider for configuration.