Enabling XR_EXT_hand_tracking OpenXR Extension on VR Headsets in PCVR Mode

Starting from version v2.1.0, the SenseGlove Unreal Engine Plugin requires the XR_EXT_hand_tracking OpenXR extension to function. If you are streaming your immersive 3D VR application from your PC to your VR headset, enabling XR_EXT_hand_tracking support, requires additional plugins and settings depending on the HMD's vendor or model.

Enabling OpenXR Plugin and Disabling OpenXRHandTracking Plugin

Regardless of the type or vendor of the HMD you have in mind for development or deployment purposes, the OpenXR plugin is required as a prerequisite. Also, ensure the OpenXRHandTracking is disabled as it conflicts with the SenseGlove Unreal Engine Plugin since both implement the same XR_EXT_hand_tracking OpenXR extension.

Though enabling the SenseGlove Unreal Engine Plugin should enable the OpenXR plugin automatically, it is recommended to ensure this plugin is enabled, and most importantly OpenXRHandTracking is disabled, by navigating to Edit > Plugins in the Unreal Editor menus.

Enabling XR_EXT_hand_tracking OpenXR Extension on VR Headsets in PCVR Mode - Enabling OpenXR and OpenXRHandTracking Plugins

The OpenXRHandTracking plugin implements the XR_EXT_hand_tracking OpenXR extension.

Meta Quest

To set up XR_EXT_hand_tracking support on Meta Quest HMDs in PCVR mode, depending on your project requirements (e.g. whether you rely on the Meta XR plugin or not), additional setup steps are required.

For Meta Quest headsets, enable the Developer runtime features under the Settings > Beta section inside the Meta Quest Link app:

Meta Quest Link - Developer Runtime Features - Enabling XR_EXT_hand_tracking

important

Enabling Developer runtime features in the Meta Quest Link requires a Meta Developer Account. If you are not signed in using a Meta Developer Account, this option won't be shown to you inside Meta Quest Link.

caution

Streaming to Meta Quest headsets from SteamVR is no longer supported because the migration to OpenXR has caused controller offsets for Meta Quest HMDs to break on SteamVR. One possible reason is that SteamVR lists XR_FB_hand_tracking as an unsupported feature. Further investigation is needed to identify the exact underlying cause.

Meta XR Plugin

caution

Please note that enabling the Meta XR plugin alongside the SenseGlove plugin will result in crashes or unexpected behavior. Meta XR plugin compatibility is being worked on and might be supported in the future.

HTC VIVE

To set up XR_EXT_hand_tracking support on HTC VIVE HMDs in PCVR mode, additional plugins or configuration steps are required.

OpenXRViveTracker Plugin

To enable VIVE Trackers support ensure the OpenXRViveTracker plugin is enabled by navigating to Edit > Plugins in the Unreal Editor menus. This plugin should be enabled, or wrist tracking won't function on VIVE devices at all.

Enabling XR_EXT_hand_tracking OpenXR Extension on VR Headsets in PCVR Mode - Enabling OpenXRViveTracker Plugin

The OpenXRViveTracker plugin implements the XR_HTCX_vive_tracker_interaction OpenXR extension which is necessary to use VIVE Trackers or to emulate the VIVE Wrist Trackers as VIVE Trackers on Windows.

VIVE Business Streaming App

For VIVE headsets relying on the VIVE Business Streaming application, ensure the Hand Tracking settings under Input are enabled and XR_HTCX_vive_tracker_interaction is enabled for VIVE Wrist Trackers by enabling Emulate VIVE Wrist Tracker as VIVE Tracker:

VIVE Business Streaming - Hand tracking - Enabling XR_EXT_hand_tracking and Emulating VIVE Wrist Tracker as VIVE Tracker

note

Tracking and accessing FXRMotionControllerData output from SenseGlove devices do not require Hand and Body Tracking to be enabled on the HMD device. Enabling this feature is only necessary if you wish to use hand-tracking as a fallback option when no glove is connected to your PC.

SteamVR App

After enabling the OpenXRViveTracker plugin and enabling Emulate VIVE Wrist Tracker as VIVE Tracker for VIVE HMDs relying on the VIVE Business Streaming, you need to perform one final setup in the SteamVR app for the SenseGlove Unreal Engine Plugin to be able to retrieve the correct wrist-tracking offsets. Once you have paired your VIVE Trackers or VIVE Wrist Trackers, navigate to SteamVR Settings > Controllers > MANAGE TRACKERS and make sure your left tracker is set to LEFT FOOT and the right tracker is set to RIGHT FOOT:

SteamVR - Manage Trackers - Setting the motion source for left and right hands

SenseGlove Wrist Tracking Settings

Once you have set up everything, it's time to adjust the SenseGlove Wrist Tracking Settings inside the project-wide plugin's settings. For detailed information, please visit the Wrist Tracking Hardware and HMD auto-detection configuration section as well.