Enabling XR_EXT_hand_tracking OpenXR Extension on VR Headsets in Standalone 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 deploying your immersive 3D VR application to your VR headset in standalone mode, 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.
![]()
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 Standalone mode, depending on your project requirements (e.g. whether you rely on the Meta XR plugin or not), additional setup steps are required.
important
Although, the SenseGlove plugin does not require the Meta XR plugin to
function, and relying solely on the OpenXR and OpenXRHandTracking plugins
would suffice for functional glove data retrieval using OpenXR,
hand-tracking as a fallback mechanism
won't work on Android without the Meta XR plugin availability.
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 Standalone mode, additional plugins or configuration steps are required.
OpenXRViveTracker Plugin
Unlike the PCVR-mode on Windows, the OpenXRViveTracker plugin is not required on Android since it only provides an implementation of the XR_HTCX_vive_tracker_interaction OpenXR extension which is necessary when we use VIVE Trackers on Windows or we emulate the VIVE Wrist Trackers as VIVE Trackers on Windows. Instead, we require the XR_HTCX_vive_wrist_tracker_interaction OpenXR extension to be able to use VIVE Wrist Trackers on Android, which is provided by the ViveOpenXR plugin. So, you can safely ignore enabling this plugin for Android standalone deployments.
ViveOpenXR Plugin
To enable VIVE Wrist Trackers support ensure the ViveOpenXR 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.

The ViveOpenXR plugin implements the XR_HTCX_vive_wrist_tracker_interaction OpenXR extension.
important
Without the ViveOpenXR plugin deploying an immersive 3D VR application to
your HTC VIVE in Standalone mode won't be possible, whether you enable
bStartInVR, or not. Without it your app will be deployed and recognized as
a 2D app.
By default, the ViveOpenXR plugin settings located in Edit > Project Settings > Plugins > Vive OpenXR look something like these:


The following settings control the availability of hand-tracking when the ViveOpenXR plugin is enabled:
- Enable Hand Interaction: This enables the hand interactions with the OpenXR hand interaction extension
XR_HTC_hand_interaction. Changing this setting will prompt you to restart the engine to apply the new settings. This setting should be enabled.

- Use HTC Hand Interaction: This selects which OpenXR hand interaction extension to use. If enabled,
XR_HTC_hand_interactionwill be used, effectively breaking SenseGlove glove and hand-tracking data output. If disabled,XR_EXT_hand_interactionwill be used, which is compatible with the SenseGlove Unreal Engine Plugin. Changing this setting will prompt you to restart the engine to apply the new settings. This setting should be disabled.
The following settings control the availability of wrist-tracking when the ViveOpenXR plugin is enabled:
- Enable Wrist Tracker: This option controls the
XR_HTC_vive_wrist_tracker_interactionOpenXR extension. If enabled, in turn, it enables the use of HTC Wrist Tracker interaction profiles in OpenXR. Changing this setting will prompt you to restart the engine to apply the new settings.
![]()
-
Enable Ultimate Tracker (Beta): This option controls the
XR_HTC_path_enumerationandXR_HTC_vive_xr_tracker_interactionOpenXR extensions. If enabled, in turn, they enable the use of HTC Xr Tracker interaction profiles in OpenXR. Changing this setting will prompt you to restart the engine to apply the new settings. -
Enable Ultimate Tracker Pogo Pin Inputs (Beta): Enables or disables the input options for Unreal's Enhanced Input System. Changing this setting will prompt you to restart the engine to apply the new settings.
The following setup demonstrates a functional immersive 3D VR application with the minimum ViveOpenXR required features enabled to make it compatible with the SenseGlove Unreal Engine Plugin:


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.