Why Meta Quest?
Design
Develop
API reference
Distribute and grow
Blog
Support
API reference
API reference
Select your platform
No SDKs available
No versions available
Overview
CanvasGroupAlphaToggle
CanvasSizeConstraint
ColliderSizeConstraint
GridSpacingScaler
InteractableObjectLabel
MoveRelativeToTarget
MoveRelativeToTargetProvider
Oculus
Interaction
Interaction
ActiveStateGroup
ActiveStateNot
ActiveStateSelector
ActiveStateUnityEventWrapper
ArcTubeVisual
AudioPhysics
AudioPhysics
AudioTrigger
BestHoverInteractorGroup
BestSelectInteractorGroup
Body
CandidateComparer
ClassToClassDecorator
ClassToValueDecorator
Collections
Context
ControllerPointerPose
ControllerRayVisual
ControllerSelector
DPadUnityEventWrapper
DebugTree
DecoratorBase
Demo
DisableRaycaster
DistanceGrabInteractable
DistanceGrabInteractor
DistanceReticles
Editor
FinalAction
FirstHoverInteractorGroup
Grab
GrabAPI
GrabFreePhysicsTransformer
GrabFreeTransformer
GrabInteractable
GrabInteractor
Grabbable
HandDebugGizmos
HandGrab
HandJoint
HandPinchOffset
HandPointerPose
HandRootOffset
HandTrackingConfidenceProvider
HandTranslationUtils
HandVisual
HoverInteractorsGate
IActiveState
ICandidateComparer
ICandidatePosition
ICollidersRef
ICurvedPlane
IDeltaTimeConsumer
IDistanceInteractor
IEvent
IFingerAPI
IFingerUseAPI
IGameObjectFilter
IGrabbable
IHandSphereMap
IHandVisual
IInteractable
IInteractableView
IInteractor
IInteractorView
IMovement
IMovementProvider
IPointable
IPointableCanvas
IPointableElement
IPolyline
IRelativeToRef
IRigidbodyRef
ISelector
ISnapPoseDelegate
ITimeConsumer
ITransformer
IUpdateDriver
ImpactAudio
Input
Interactable
InteractableGroup
InteractableGroupView
InteractableTriggerBroadcaster
InteractableUnityEventWrapper
Interactor
InteractorActiveState
InteractorControllerDecorator
InteractorDebugVisual
InteractorGroup
InteractorUnityEventWrapper
InterfaceAttribute
JoystickPoseMovement
JoystickPoseMovementProvider
Locomotion
MAction
MicroGestureUnityEventWrapper
MinMaxPair
OVR
OVRButtonAxis1D
OVRControllerMatchesProfileActiveState
OneGrabPhysicsJointTransformer
OneGrabRotateTransformer
OneGrabSphereTransformer
OneGrabTranslateTransformer
OptionalAttribute
PhysicsGrabbable
PointableCanvas
PointableCanvasEventArgs
PointableCanvasMesh
PointableCanvasModule
PointableCanvasUnityEventWrapper
PointableElement
PointableUnityEventWrapper
PointerEvent
PointerInteractable
PointerInteractor
PokeInteractable
PokeInteractor
PoseDetection
PoseUtils
PressureBreakable
PressureSquishable
RayInteractable
RayInteractor
Samples
ShoulderEstimatePosition
SkeletonDebugGizmos
SnapInteractable
SnapInteractor
Surfaces
TagSet
TagSetFilter
Throw
TogglerActiveState
TouchHandGrabInteractable
TouchHandGrabInteractor
TransformExtensions
TransformTrackingToWorldTransformer
TransformerUtils
TransformerUtils
TransformsPolyline
TunnelingEffect
TwoGrabPlaneTransformer
TwoGrabRotateTransformer
UITheme
UIThemeManager
UniqueIdentifier
UnityCanvas
UnityXR
ValueToClassDecorator
VersionTextGUI
PageScroll
PanelHoverState
PanelSetup
PbrMaterialDefinition
RectSizeConstraint
RoundedBoxUIProperties
RoundedBoxVideoController
SkinnedRoundedBoxMesh
SwipeGesture
UpdateRoundedBoxAnchorConstraint
VirtualLayout
Code samples
Downloads
Release notes
Supported platforms
Oculus
SnapInteractor Class
Extends
Interactor< SnapInteractor, SnapInteractable >
,
IRigidbodyRef
SnapInteractors can snap to poses provided by SnapInteractables.
SnapInteractors select and unselect in response to a
PointableElement
. SnapInteractors hover when the
PointableElement
has selecting pointers and snap to the best
SnapInteractable
pose when the
PointableElement
has no more selecting pointers.
Fields
IPointableElement
PointableElement
[Get]
Rigidbody
Rigidbody
[Get]
Pose
SnapPose
[Get]
Properties
float
DistanceThreshold
[Get]
Protected Functions
virtual override void
Awake
( )
virtual override void
Start
( )
virtual override void
OnEnable
( )
virtual override void
OnDisable
( )
virtual override bool
ComputeShouldSelect
( )
virtual override bool
ComputeShouldUnselect
( )
virtual override void
DoHoverUpdate
( )
virtual override void
DoSelectUpdate
( )
override void
InteractableSet
(
SnapInteractable
interactable )
override void
InteractableUnset
(
SnapInteractable
interactable )
override void
InteractableSelected
(
SnapInteractable
interactable )
override void
InteractableUnselected
(
SnapInteractable
interactable )
virtual void
HandlePointerEventRaised
(
PointerEvent
evt )
virtual override void
DoPreprocess
( )
Pose
ComputePointerPose
( )
virtual override
SnapInteractable
ComputeCandidate
( )
Member Functions
void
InjectAllSnapInteractor
(
PointableElement
pointableElement,
Rigidbody rigidbody )
Sets all required values for a <cref="SnapInteractor" /> on a dynamically instantiated GameObject.
void
InjectPointableElement
(
PointableElement
pointableElement )
Sets a <cref="PointableElement" /> on a dynamically instantiated GameObject.
void
InjectRigidbody
( Rigidbody rigidbody )
Sets a Rigidbody on a dynamically instantiated GameObject.
void
InjectOptionalSnapPoseTransform
( Transform snapPoint )
Sets a snap point on a dynamically instantiated GameObject.
void
InjectOptionalTimeOutInteractable
(
SnapInteractable
interactable )
Sets a time out interactable on a dynamically instantiated GameObject.
void
InjectOptionaTimeOut
( float timeOut )
Sets a timeout on a dynamically instantiated GameObject.
Build with Meta
Social Technologies
Meta Horizon
AI
Worlds
About us
Careers
Research
Products
Virtual reality / Meta Horizon
Developer Blog
Download SDKs
Meta for Work
Programs
Start
Meta Horizon Creator Program
Discover
Why Meta Quest?
What is mixed reality?
Platforms and tools
2D apps for Meta Horizon OS
Devices
Meta Avatars
Success stories
Use cases
Support and legal
Developer policies
Legal
Privacy
Forums
Support
Build with Meta
Social Technologies
Meta Horizon
AI
Worlds
About us
Careers
Research
Products
Virtual reality / Meta Horizon
Developer Blog
Download SDKs
Meta for Work
Programs
Start
Meta Horizon Creator Program
Discover
Why Meta Quest?
What is mixed reality?
Platforms and tools
2D apps for Meta Horizon OS
Devices
Meta Avatars
Success stories
Use cases
Support and legal
Developer policies
Legal
Privacy
Forums
Support
Build with Meta
Social Technologies
Meta Horizon
AI
Worlds
About us
Careers
Research
Products
Virtual reality / Meta Horizon
Developer Blog
Download SDKs
Meta for Work
Programs
Start
Meta Horizon Creator Program
Discover
Why Meta Quest?
What is mixed reality?
Platforms and tools
2D apps for Meta Horizon OS
Devices
Meta Avatars
Success stories
Use cases
Support and legal
Developer policies
Legal
Privacy
Forums
Support
English (US)
© 2026 Meta