API reference
API reference
Select your platform
No SDKs available
No versions available

BestSelectInteractorGroup Class

Manages a group of interactors where multiple interactors can be in the Hover state, but only the highest-priority interactor can transition to the Select state.
Other interactors are disabled until the selecting interactor unselects.
In typical setups, you will add this class to manage hand or controller interactors. The group typically includes interactors such as the PokeInteractor and GrabInteractor. By default, the priority of interactors is determined by their index in the InteractorGroup.Interactors collection, a lower index corresponds to a higher priority. However, if a custom CandidateComparer<T> is provided, it may override this default behavior based on custom comparison logic.

Properties

CandidateProperties : override object
[Get]
Signature
override object Oculus.Interaction.BestSelectInteractorGroup.CandidateProperties
HasCandidate : override bool
[Get]
Signature
override bool Oculus.Interaction.BestSelectInteractorGroup.HasCandidate
HasInteractable : override bool
[Get]
Signature
override bool Oculus.Interaction.BestSelectInteractorGroup.HasInteractable
HasSelectedInteractable : override bool
[Get]
Signature
override bool Oculus.Interaction.BestSelectInteractorGroup.HasSelectedInteractable
ShouldHover : override bool
[Get]
Determines whether any interactor should transition to the Hover state.
True if the current state is Normal and any interactor meets the criteria for hovering; otherwise, false.
Signature
override bool Oculus.Interaction.BestSelectInteractorGroup.ShouldHover
ShouldSelect : override bool
[Get]
Determines whether any interactor should transition to the Select state.
True if the current state is Hover and any interactor meets the criteria for selection; otherwise, false.
Signature
override bool Oculus.Interaction.BestSelectInteractorGroup.ShouldSelect
ShouldUnhover : override bool
[Get]
Determines whether any interactor should cease to be in the Hover state.
True if the current state is Hover and any interactor meets the criteria for unhovering or no interactors are in the Hover state; otherwise, false.
Signature
override bool Oculus.Interaction.BestSelectInteractorGroup.ShouldUnhover
ShouldUnselect : override bool
[Get]
Determines whether the highest-priority interactor should cease being in the Select state.
True if the current state is Select and the highest-priority interactor meets the criteria for unselection; otherwise, false.
Signature
override bool Oculus.Interaction.BestSelectInteractorGroup.ShouldUnselect

Methods

Disable ()
Implementation of IInteractor.Disable; for details, please refer to the related documentation provided for that interface.
Signature
override void Oculus.Interaction.BestSelectInteractorGroup.Disable()
Returns
override void
Enable ()
Implementation of IInteractor.Enable; for details, please refer to the related documentation provided for that interface.
Signature
override void Oculus.Interaction.BestSelectInteractorGroup.Enable()
Returns
override void
Hover ()
Attempts to transition any suitable interactor into the Hover state.
This method iterates through interactors, transitioning the first one that meets the hover criteria into the Hover state. The group's state updates to Hover if at least one interactor transitions successfully.
Signature
override void Oculus.Interaction.BestSelectInteractorGroup.Hover()
Returns
override void
InjectAllInteractorGroupBestSelect ( interactors )
Signature
void Oculus.Interaction.BestSelectInteractorGroup.InjectAllInteractorGroupBestSelect(List< IInteractor > interactors)
Parameters
interactors: List< IInteractor >
Returns
void
Preprocess ()
Prepares interactors for state transitions based on current conditions and processes any necessary state changes.
Signature
override void Oculus.Interaction.BestSelectInteractorGroup.Preprocess()
Returns
override void
Process ()
Processes state transitions and interactions for interactors based on the current group state and individual interactor conditions.
Signature
override void Oculus.Interaction.BestSelectInteractorGroup.Process()
Returns
override void
Select ()
Selects the highest-priority interactor that is currently in the Hover state and transitions it to the Select state.
This method identifies the best candidate for selection, transitioning it to the Select state. It disables all other interactors to ensure that only the selected one is active. This method should only be called when ShouldSelect returns true, indicating that the conditions for selection are met.
Signature
override void Oculus.Interaction.BestSelectInteractorGroup.Select()
Returns
override void
Unhover ()
Attempts to transition any interactor from the Hover state back to the Normal state.
This method iterates through interactors and transitions those that meet the unhover criteria out of the Hover state. If no interactors remain in the Hover state, the group's state is updated to InteractorState.Normal.
Signature
override void Oculus.Interaction.BestSelectInteractorGroup.Unhover()
Returns
override void
Unselect ()
Reverses the selection process, transitioning the currently selected interactor back to the Hover state.
This method should only be called when ShouldUnselect returns true, ensuring that the currently selected interactor meets the criteria to unselect. If the interactor unselects successfully, the group's state is updated to Hover.
Signature
override void Oculus.Interaction.BestSelectInteractorGroup.Unselect()
Returns
override void