SpatialInteractionManager SpatialInteractionManager SpatialInteractionManager SpatialInteractionManager SpatialInteractionManager Class


Provides access to user input from hands, motion controllers, and system voice commands.

public : sealed class SpatialInteractionManager : ISpatialInteractionManager
struct winrt::Windows::UI::Input::Spatial::SpatialInteractionManager : ISpatialInteractionManager
public sealed class SpatialInteractionManager : ISpatialInteractionManager
Public NotInheritable Class SpatialInteractionManager Implements ISpatialInteractionManager
// This class does not provide a public constructor.

Windows 10 requirements

Device family
Windows 10 (introduced v10.0.10586.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (introduced v2)


Spatial gestures are a key form of input for HoloLens. By routing the interactions from the SpatialInteractionManager to a hologram's SpatialGestureRecognizer, apps can detect Tap, Hold, Manipulation, and Navigation events uniformly across hands, voice and controllers.

Note that spatial interaction are not detected for input from gamepads, keyboards or mice.

Interactions are mostly opaque, with an event triggering only at the beginning, so the gesture recognizer you route it to can capture the interaction in its entirety. Apps can instead choose to use the low-level Source events or poll using GetDetectedSourcesAtTimestamp to manually process the Presses, Updates, and Releases surfaced by a given hand or controller.


GetDetectedSourcesAtTimestamp(PerceptionTimestamp) GetDetectedSourcesAtTimestamp(PerceptionTimestamp) GetDetectedSourcesAtTimestamp(PerceptionTimestamp) GetDetectedSourcesAtTimestamp(PerceptionTimestamp) GetDetectedSourcesAtTimestamp(PerceptionTimestamp)

Get the state of all detected interaction sources as of the specified timestamp.

GetForCurrentView() GetForCurrentView() GetForCurrentView() GetForCurrentView() GetForCurrentView()

Get the SpatialInteractionManager associated with the current CoreWindow.


InteractionDetected InteractionDetected InteractionDetected InteractionDetected InteractionDetected

Occurs when a new interaction is available for routing to a SpatialGestureRecognizer.

Pass the SpatialInteraction object in the event arguments to the SpatialGestureRecognizer.CaptureInteraction method to route this interaction to that gesture recognizer.

SourceDetected SourceDetected SourceDetected SourceDetected SourceDetected

Occurs when a new hand, motion controller, or source of voice commands has been detected.

SourceLost SourceLost SourceLost SourceLost SourceLost

Occurs when a hand, motion controller, or source of voice commands is no longer available.

SourcePressed SourcePressed SourcePressed SourcePressed SourcePressed

Occurs when a hand, motion controller, or source of voice commands has entered a pressed state.

SourceReleased SourceReleased SourceReleased SourceReleased SourceReleased

Occurs when a hand, motion controller, or source of voice commands has exited a pressed state.

SourceUpdated SourceUpdated SourceUpdated SourceUpdated SourceUpdated

Occurs when a hand, motion controller, or source of voice commands has experienced a change to its SpatialInteractionSourceState.

See also