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

TeleportInteractor Class

TeleportInteractor uses a provided IPolyline teleport arc and an external ISelector to find the best TeleportInteractable and emit the event requesting a teleport to it.
By itself it does not define the shape of the arc or even moves the player, instead it is the core class that brings these pieces together.

Fields

ArcEnd : TeleportHit
The most recent calculated endpoint of the teleport arc.
This property can change and/or linger on old values with unspecified timing depending on the internal state of the TeleportInteractor, so it should not be relied on for anything other than rendering visualizations.
Signature
TeleportHit Oculus.Interaction.Locomotion.TeleportInteractor.ArcEnd

Properties

AcceptDestination : AcceptDestinationComputer
[Get][Set]
This optional delegate method offers one chance to accept or reject a valid target destination.
It will be executed upon the current Interactable and desired target Pose in order to allow selection.
Return true to allow Selection, false to disallow selection. When it is not set, it always allows to select valid interactables.
Signature
AcceptDestinationComputer Oculus.Interaction.Locomotion.TeleportInteractor.AcceptDestination
ArcOrigin : Pose
[Get]
The starting point of the teleport arc.
This pose is calculated from the IPolyline provided as the TeleportArc.
Signature
Pose Oculus.Interaction.Locomotion.TeleportInteractor.ArcOrigin
EqualDistanceThreshold : float
[Get][Set]
(Meters, World) The threshold below which distances to an interactable are treated as equal for the purposes of ranking.
Signature
float Oculus.Interaction.Locomotion.TeleportInteractor.EqualDistanceThreshold
TeleportArc : IPolyline
[Get]
Specifies the shape of the arc used for detecting available interactables.
If none is provided, TeleportArcGravity will be used as a default.
Signature
IPolyline Oculus.Interaction.Locomotion.TeleportInteractor.TeleportArc
TeleportTarget : Pose
[Get]
The location to teleport to.
If the interactor has an interactable, then that's the teleport location. Otherwise it just projects the end of the arc onto the ground and uses that as the target.
Signature
Pose Oculus.Interaction.Locomotion.TeleportInteractor.TeleportTarget
WhenLocomotionPerformed : Action< LocomotionEvent >
Implementation of ILocomotionEventBroadcaster.WhenLocomotionPerformed; for details, please refer to the related documentation provided for that interface.
Signature
Action<LocomotionEvent> Oculus.Interaction.Locomotion.TeleportInteractor.WhenLocomotionPerformed

Protected Methods

Awake ()
Signature
override void Oculus.Interaction.Locomotion.TeleportInteractor.Awake()
Returns
override void
ComputeCandidate ()
Signature
override TeleportInteractable Oculus.Interaction.Locomotion.TeleportInteractor.ComputeCandidate()
Returns
override TeleportInteractable
ComputeCandidateTiebreaker ( a , b )
Signature
override int Oculus.Interaction.Locomotion.TeleportInteractor.ComputeCandidateTiebreaker(TeleportInteractable a, TeleportInteractable b)
Returns
override int
InteractableSelected ( interactable )
Signature
override void Oculus.Interaction.Locomotion.TeleportInteractor.InteractableSelected(TeleportInteractable interactable)
Parameters
interactable: TeleportInteractable
Returns
override void
Start ()
Signature
override void Oculus.Interaction.Locomotion.TeleportInteractor.Start()
Returns
override void

Methods

AcceptDestinationComputer ( interactable , destination )
Delegate to accept or reject the selection of teleport destination.
Signature
delegate bool Oculus.Interaction.Locomotion.TeleportInteractor.AcceptDestinationComputer(TeleportInteractable interactable, Pose destination)
Parameters
interactable: TeleportInteractable  The interactable the interactor wants to teleport to.
destination: Pose  The final Pose the interactor wants to move to.
Returns
delegate bool  True if the destination is accepted, false if rejected.
CanSelect ( interactable )
Override of Interactor<TInteractor, TInteractable>.CanSelect(TInteractable); for details, please refer to the related documentation provided for that method.
Signature
override bool Oculus.Interaction.Locomotion.TeleportInteractor.CanSelect(TeleportInteractable interactable)
Parameters
interactable: TeleportInteractable
Returns
override bool
ComputeCandidateDelegate ( TeleportArc , interactables , tiebreaker , hitPose )
Delegate method used for calculating the best available interactable to teleport to.
Implement this delegate to create custom behaviors for Interactor<TInteractor, TInteractable>.ComputeCandidate.
Signature
delegate TeleportInteractable Oculus.Interaction.Locomotion.TeleportInteractor.ComputeCandidateDelegate(IPolyline TeleportArc, in InteractableSet interactables, ComputeCandidateTiebreakerDelegate tiebreaker, out TeleportHit hitPose)
Parameters
TeleportArc: IPolyline  The serie of segments used to query the interactables.
interactables: in InteractableSet  The list of available interactors whitin range of the arc
tiebreaker: ComputeCandidateTiebreakerDelegate  Method to break the tie when two interactables get the same result, note that this can be modified externally via Interactor.CandidateTiebreaker
hitPose: out TeleportHit  The information about where the best candidate was hit
Returns
delegate TeleportInteractable  The best candidate found
ComputeCandidateTiebreakerDelegate ( a , b )
Signature
delegate int Oculus.Interaction.Locomotion.TeleportInteractor.ComputeCandidateTiebreakerDelegate(TeleportInteractable a, TeleportInteractable b)
Returns
delegate int
HasValidDestination ()
Checks whether the interactor current has a target TeleportInteractable to which it can legitimiately travel.
Signature
bool Oculus.Interaction.Locomotion.TeleportInteractor.HasValidDestination()
Returns
bool  True if there is a current target and that target can be teleported to, false otherwise
InjectAllTeleportInteractor ( selector )
Injects all required dependencies for a dynamically instantiated TeleportInteractor; effectively wraps InjectSelector(ISelector), since all other dependencies are optional.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Locomotion.TeleportInteractor.InjectAllTeleportInteractor(ISelector selector)
Parameters
selector: ISelector
Returns
void
InjectOptionalCandidateComputer ( candidateComputer )
Sets a custom strategy for computing the best teleport candidate for a dynamically instantiated TeleportInteractor.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Locomotion.TeleportInteractor.InjectOptionalCandidateComputer(ComputeCandidateDelegate candidateComputer)
Parameters
candidateComputer: ComputeCandidateDelegate
Returns
void
InjectOptionalContext ( context )
Signature
void Oculus.Interaction.Locomotion.TeleportInteractor.InjectOptionalContext(Context context)
Parameters
context: Context
Returns
void
InjectOptionalHmd ( hmd )
Obsolete method: provide a ComputeCandidateDelegate instead.
Sets an IHmd for a dynamically instantiated TeleportInteractor. This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Locomotion.TeleportInteractor.InjectOptionalHmd(IHmd hmd)
Parameters
hmd: IHmd
Returns
void
InjectOptionalTeleportArc ( teleportArc )
Sets the IPolyline teleport arc for a dynamically instantiated TeleportInteractor.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Locomotion.TeleportInteractor.InjectOptionalTeleportArc(IPolyline teleportArc)
Parameters
teleportArc: IPolyline
Returns
void
InjectSelector ( selector )
Sets an ISelector for a dynamically instantiated TeleportInteractor.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Locomotion.TeleportInteractor.InjectSelector(ISelector selector)
Parameters
selector: ISelector
Returns
void