SpatialInteractionManager SpatialInteractionManager SpatialInteractionManager SpatialInteractionManager SpatialInteractionManager Class


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

public : sealed class SpatialInteractionManager
struct winrt::Windows::UI::Input::Spatial::SpatialInteractionManager
public sealed class SpatialInteractionManager
Public NotInheritable Class SpatialInteractionManager
// 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 hand, speech and controller interactions.


Spatial interactions are not detected from gamepad, keyboard, or mouse input devices.

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.

Version history

Windows version SDK version Value added
1903 18362 IsSourceKindSupported


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

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

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

Get the SpatialInteractionManager associated with the current CoreWindow.

IsSourceKindSupported(SpatialInteractionSourceKind) IsSourceKindSupported(SpatialInteractionSourceKind) IsSourceKindSupported(SpatialInteractionSourceKind) IsSourceKindSupported(SpatialInteractionSourceKind) IsSourceKindSupported(SpatialInteractionSourceKind)

Gets whether the specified interaction source is supported on this device.


InteractionDetected InteractionDetected InteractionDetected InteractionDetected InteractionDetected

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

SourceDetected SourceDetected SourceDetected SourceDetected SourceDetected

Occurs when a new hand, motion controller, or speech source has been detected.

SourceLost SourceLost SourceLost SourceLost SourceLost

Occurs when a hand, motion controller, or speech source is no longer available.

SourcePressed SourcePressed SourcePressed SourcePressed SourcePressed

Occurs when a hand, motion controller, or speech source has entered a pressed state.

SourceReleased SourceReleased SourceReleased SourceReleased SourceReleased

Occurs when a hand, motion controller, or speech source has exited a pressed state.

SourceUpdated SourceUpdated SourceUpdated SourceUpdated SourceUpdated

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

See also