Get Pointer Pose
Updated: Apr 15, 2026
Gets the pointer pose for the specified hand. The pointer pose represents the origin and direction of a system-generated aim ray derived from OpenXR hand tracking data. This pose is distinct from the physical hand position. It provides a filtered, stable ray suitable for pointing and selection interactions.
During hand tracking, deriving a stable pointing direction from a tracked hand involves filtering, gesture detection, and other processing. The GetPointerPose Blueprint node returns an FTransform that represents the starting point and direction of this pointing ray in world space.
You can use the pointer pose to drive ray-casting for UI interaction, object selection, or laser pointer visualization. The returned transform encodes the ray origin as the location component and the ray direction as the rotation component.
Before using the pointer pose, call
Is Pointer Pose Valid to confirm that the current hand tracking data includes a usable aim ray.
Device Hand: One of the following EOculusXRHandType enum values:
Controller Index: An integer that specifies the controller index. Defaults to 0, which is the standard value for most single-controller configurations. Change this value only if your application manages multiple controller devices.
- Return Value: An
FTransform that represents the pointer pose. The location component indicates the ray origin and the rotation component indicates the ray direction.
- Is Pointer Pose Valid: Check whether the pointer pose contains valid data before reading the transform. Always call this before
GetPointerPose to avoid using stale or invalid aim data. - Is Hand Tracking Enabled: Check whether hand tracking is active on the device.