Upgrade Guide

The transition from v2.0.x to v2.1.x introduces numerous changes, including several breaking changes. The effort required to upgrade your project will vary depending on its complexity and which features of the SenseGlove Unreal Engine Project you are using. However, if you are working with a simple Blueprint project like SGBasicDemo, the upgrade process is quite straightforward. We successfully upgraded SGBasicDemo to SGBasicDemo-OpenXR by following the procedure outlined below.

These are the notable changes that might affect your project:

  • The SenseGlove Virtual Hand and Wrist Tracker components no longer rely on the SenseGlove Hand Pose data from the underlying SenseGlove API. Instead, they use FXRMotionControllerData.
  • The virtual hand animation system has been revamped to use FXRMotionControllerData and no longer relies on SenseGlove Hand Angles. This means the virtual hand meshes are animated using world space transforms instead of parent bone space transforms.
  • The Allbreaker virtual hand meshes have been removed and are no longer supported as they are incompatible with the new OpenXR tracking and animation system.

caution

Please consult the changelog before upgrading your project to see if any change affects or breaks your current project.

note

For upgrading older versions of the plugin to v2.0.0, a YouTube tutorial is available.

  1. Remove the existing Plugins/SenseGlove folder from your project.

  2. Obtain the latest v2.1.x version of the plugin either from the Epic Games Launcher or Microsoft Azure DevOps Repositories and place it in the Plugins/SenseGlove folder that you've just removed.

  3. It might be best to clean up and remove the following folders from your project before generating the project files or attempting to open your project with the Unreal Editor. This might prevent a certain class of build issues:

- Binaries
- Intermediate
- Saved
  1. Build your project using your favorite IDE if it's a C++ project, or open your project's .uproject file with the Unreal Editor and wait for the Editor to build the necessary binaries and open the project.

  2. Remove the Allbreaker virtual hand meshes if you are using them, as they are no longer compatible with the new animation system.

  3. Import and set up a set of compatible virtual hand meshes such as the VRTemplate virtual hand meshes, and configure the materials, rigid bodies, and the SenseGlove Grab and Touch Sockets using the SenseGlove Sockets Editor.

  4. Set up the SGPawn to use the new virtual hand meshes for the HandLeft, HandRight, RealHandLeft, and RealHandRight components.

  5. Adjust the Virtual Hand Mesh Settings and ensure the Left Hand Reference Mesh and Right Hand Reference Mesh are set correctly.

  6. Check and adjust the Virtual Hand Animation Settings as needed.

  7. You might also want to set up the Wrist Tracking Hardware to use the new experimental HMD auto-detection feature. This allows the plugin to automatically configure the wrist tracking hardware at runtime, rather than limiting your builds to a specific HMD.

  8. Set up the SGGameInstance and SGGameUserSettings if you want to use the new SenseGlove console commands or take advantage of the Engine Scalability Settings to achieve higher framerates in your project.

  9. Additionally, the latest release introduces the ability to use hand-tracking as an alternative to SenseGlove hardware—albeit without haptic feedback—for rapid development and testing. It's also recommended to enable the Fallback to HandTracking if No Glove Detected feature to seamlessly switch to hand-tracking when a glove isn't connected.

  10. If all steps have been followed correctly, your project should now be fully compatible with the new plugin release.