SpatialInteractionSource SpatialInteractionSource SpatialInteractionSource SpatialInteractionSource SpatialInteractionSource Class


Represents one detected instance of a hand, motion controller, or speech source that can cause interactions and gestures.

public : sealed class SpatialInteractionSource
struct winrt::Windows::UI::Input::Spatial::SpatialInteractionSource
public sealed class SpatialInteractionSource
Public NotInheritable Class SpatialInteractionSource
// 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)


For hands and controllers, each detected hand or motion controller will get its own ID. For as long as the system can track that a hand is the same hand that was previously detected, it will share an ID.

For speech, a single ID will be used for all speech input.

Version history

Windows version SDK version Value added
1703 15063 Controller
1703 15063 IsGraspSupported
1703 15063 IsMenuSupported
1703 15063 IsPointingSupported
1703 15063 TryGetStateAtTimestamp
1709 16299 Handedness
1903 18362 TryCreateHandMeshObserver
1903 18362 TryCreateHandMeshObserverAsync


Controller Controller Controller Controller Controller

Represents the specifics of a detected motion controller.

Handedness Handedness Handedness Handedness Handedness

Gets whether the interaction source represents the user's left hand or right hand.

Id Id Id Id Id

Gets the identifier for the hand, motion controller, or speech source.

IsGraspSupported IsGraspSupported IsGraspSupported IsGraspSupported IsGraspSupported

Gets whether the source supports grasps.

IsMenuSupported IsMenuSupported IsMenuSupported IsMenuSupported IsMenuSupported

Gets whether the source supports Menu presses.

IsPointingSupported IsPointingSupported IsPointingSupported IsPointingSupported IsPointingSupported

Gets whether the source can provide pointer poses.

Kind Kind Kind Kind Kind

Gets the interaction source type.


TryCreateHandMeshObserver() TryCreateHandMeshObserver() TryCreateHandMeshObserver() TryCreateHandMeshObserver() TryCreateHandMeshObserver()

Synchronously requests a HandMeshObserver to provide mesh updates for each frame that tracks the detected shape of a hand.

TryCreateHandMeshObserverAsync() TryCreateHandMeshObserverAsync() TryCreateHandMeshObserverAsync() TryCreateHandMeshObserverAsync() TryCreateHandMeshObserverAsync()

Requests a HandMeshObserver to provide mesh updates for each frame that tracks the detected shape of a hand.

TryGetStateAtTimestamp(PerceptionTimestamp) TryGetStateAtTimestamp(PerceptionTimestamp) TryGetStateAtTimestamp(PerceptionTimestamp) TryGetStateAtTimestamp(PerceptionTimestamp) TryGetStateAtTimestamp(PerceptionTimestamp)

Get the state of this source as of the specified timestamp.

See also