Class XRBaseControllerInteractor
Abstract base class from which all interactors that are controller driven derive. This class hooks into the interaction system (via XRInteractionManager) and provides base virtual methods for handling hover and selection. Additionally, this class provides functionality for checking the controller's selection status and hiding the controller on selection.
Inherited Members
Namespace: UnityEngine.XR.Interaction.Toolkit
Syntax
public abstract class XRBaseControllerInteractor : XRBaseInteractor
Properties
AudioClipForOnHoverEnter
Gets or sets the AudioClip to play on Hover Enter.
Declaration
public AudioClip AudioClipForOnHoverEnter { get; set; }
Property Value
Type | Description |
---|---|
AudioClip |
AudioClipForOnHoverExit
Gets or sets the AudioClip to play on Hover Exit.
Declaration
public AudioClip AudioClipForOnHoverExit { get; set; }
Property Value
Type | Description |
---|---|
AudioClip |
AudioClipForOnSelectEnter
Gets or sets the AudioClip to play on Select Enter.
Declaration
public AudioClip AudioClipForOnSelectEnter { get; set; }
Property Value
Type | Description |
---|---|
AudioClip |
AudioClipForOnSelectExit
Gets or sets the AudioClip to play on Select Exit.
Declaration
public AudioClip AudioClipForOnSelectExit { get; set; }
Property Value
Type | Description |
---|---|
AudioClip |
hapticHoverEnterDuration
Gets or sets the Haptics duration to play on HoverEnter.
Declaration
public float hapticHoverEnterDuration { get; set; }
Property Value
Type | Description |
---|---|
Single |
hapticHoverEnterIntensity
Gets or sets the Haptics intensity to play on HoverEnter.
Declaration
public float hapticHoverEnterIntensity { get; set; }
Property Value
Type | Description |
---|---|
Single |
hapticHoverExitDuration
Gets or sets the Haptics duration to play on HoverExit.
Declaration
public float hapticHoverExitDuration { get; set; }
Property Value
Type | Description |
---|---|
Single |
hapticHoverExitIntensity
Gets or sets the Haptics intensity to play on HoverExit.
Declaration
public float hapticHoverExitIntensity { get; set; }
Property Value
Type | Description |
---|---|
Single |
hapticSelectEnterDuration
Gets or sets the Haptics duration to play on SelectEnter.
Declaration
public float hapticSelectEnterDuration { get; set; }
Property Value
Type | Description |
---|---|
Single |
hapticSelectEnterIntensity
Gets or sets the Haptics intensity to play on SelectEnter.
Declaration
public float hapticSelectEnterIntensity { get; set; }
Property Value
Type | Description |
---|---|
Single |
hapticSelectExitDuration
Gets or sets the Haptics duration to play on SelectExit.
Declaration
public float hapticSelectExitDuration { get; set; }
Property Value
Type | Description |
---|---|
Single |
hapticSelectExitIntensity
Gets or sets the Haptics intensity to play on SelectExit.
Declaration
public float hapticSelectExitIntensity { get; set; }
Property Value
Type | Description |
---|---|
Single |
hideControllerOnSelect
Gets or sets whether this interactor should hide the controller on selection.
Declaration
public bool hideControllerOnSelect { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
isSelectActive
Gets whether the selection state is active for this interactor. This will check if the controller has a valid selection state or whether toggle selection is currently on and active.
Declaration
public override bool isSelectActive { get; }
Property Value
Type | Description |
---|---|
Boolean |
Overrides
isUISelectActive
Declaration
protected bool isUISelectActive { get; }
Property Value
Type | Description |
---|---|
Boolean |
playAudioClipOnHoverEnter
Gets or sets whether to play AudioClip on Hover Enter.
Declaration
public bool playAudioClipOnHoverEnter { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
playAudioClipOnHoverExit
Gets or sets whether to play AudioClip on Hover Exit.
Declaration
public bool playAudioClipOnHoverExit { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
playAudioClipOnSelectEnter
Gets or sets whether to play AudioClip on Select Enter.
Declaration
public bool playAudioClipOnSelectEnter { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
playAudioClipOnSelectExit
Gets or sets whether to play AudioClip on Select Exit.
Declaration
public bool playAudioClipOnSelectExit { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
playHapticsOnHoverEnter
Gets or sets whether to play haptics on HoverEnter.
Declaration
public bool playHapticsOnHoverEnter { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
playHapticsOnHoverExit
Gets or sets whether to play haptics on HoverExit.
Declaration
public bool playHapticsOnHoverExit { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
playHapticsOnSelectEnter
Gets or sets whether to play haptics on SelectEnter.
Declaration
public bool playHapticsOnSelectEnter { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
playHapticsOnSelectExit
Gets or sets whether to play haptics on SelectExit.
Declaration
public bool playHapticsOnSelectExit { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
selectActionTrigger
Gets or sets whether this interactor toggles selection on button press (rather than selection on press).
Declaration
public XRBaseControllerInteractor.SelectActionTriggerType selectActionTrigger { get; set; }
Property Value
Type | Description |
---|---|
XRBaseControllerInteractor.SelectActionTriggerType |
ValidTargets
Gets a list of targets that can be selected.
Declaration
protected abstract List<XRBaseInteractable> ValidTargets { get; }
Property Value
Type | Description |
---|---|
List<XRBaseInteractable> |
Methods
Awake()
Declaration
protected override void Awake()
Overrides
OnHoverEnter(XRBaseInteractable)
This method is called when the interactor first initiates hover of an interactable.
Declaration
protected override void OnHoverEnter(XRBaseInteractable interactable)
Parameters
Type | Name | Description |
---|---|---|
XRBaseInteractable | interactable | Interactable that is being hovered. |
Overrides
OnHoverExit(XRBaseInteractable)
This method is called by the interaction manager when the interactor ends hovering over an interactable.
Declaration
protected override void OnHoverExit(XRBaseInteractable interactable)
Parameters
Type | Name | Description |
---|---|---|
XRBaseInteractable | interactable | Interactable that is no longer hovered over. |
Overrides
OnSelectEnter(XRBaseInteractable)
This method is called when the interactor first initiates selection of an interactable.
Declaration
protected override void OnSelectEnter(XRBaseInteractable interactable)
Parameters
Type | Name | Description |
---|---|---|
XRBaseInteractable | interactable | Interactable that is being selected. |
Overrides
OnSelectExit(XRBaseInteractable)
This method is called when the interactor ends selection of an interactable.
Declaration
protected override void OnSelectExit(XRBaseInteractable interactable)
Parameters
Type | Name | Description |
---|---|---|
XRBaseInteractable | interactable | Interactable that is no longer selected. |
Overrides
ProcessInteractor(XRInteractionUpdateOrder.UpdatePhase)
Declaration
public override void ProcessInteractor(XRInteractionUpdateOrder.UpdatePhase updatePhase)
Parameters
Type | Name | Description |
---|---|---|
XRInteractionUpdateOrder.UpdatePhase | updatePhase |
Overrides
SendHapticImpulse(Single, Single)
Play a haptic impulse on the controller if one is available
Declaration
public bool SendHapticImpulse(float amplitude, float duration)
Parameters
Type | Name | Description |
---|---|---|
Single | amplitude | Amplitude (from 0.0 to 1.0) to play impulse at. |
Single | duration | Duration (in seconds) to play haptic impulse. |
Returns
Type | Description |
---|---|
Boolean |