## Planned Features Completion Status ### Implemented as of v2.1.0 - [X] Full SenseGlove low-level core API access through Unreal C++. - [X] Full SenseGlove low-level core API access through Blueprint. - [X] DK 1 Support. - [X] Nova 1 Support. - [X] Nova 2 Support. - [X] Support for Microsoft Windows as a development platform. - [X] Support for GNU/Linux as a development platform. - [X] Support for Microsoft Windows as a deployment platform. - [X] Support for GNU/Linux x64 as a deployment platform. - [X] Support for GNU/Linux AArch64 as a deployment platform. - [X] Support for Android as a deployment platform. - [X] Support for Oculus Quest 2 and Oculus Quest Pro. - [X] Support for HTC VIVE Pro and HTC VIVE Focus 3. - [X] Support for HTC VIVE Trackers and HTC VIVE Wrist Trackers. - [X] On-device calibration for Android without the need for SenseCom. - [X] Haptic feedback including force feedback, buzz, and thumper commands. - [X] A customizable Grab component that could be added to any actor. - [X] A customizable Touch component that could be added to any actor. - [X] Ability to grab, release, and throw objects around. - [X] Separation of the real and virtual hand rendering. - [X] An out-of-the-box customizable SGPawn with the ability to be extended in C++ and Blueprint. - [X] Easy wrist/hand tracking debugging using the SenseGlove Debug module. - [X] A generic Settings module with the ability to override settings. - [X] C++/Blueprint interaction events such as OnGrabStateUpdated, OnTouchStateUpdated, OnActorGrabbed, OnActorReleased, OnActorBeginTouch, and OnActorEndTouch. - [X] A fallback to HMD and wrist tracker hardware auto-detection mechanism when automatic detection of the wrist tracker hardware is desired. - [X] OpenXR-compatible hand tracking (XR_EXT_hand_tracking) support. - [X] FXRMotionControllerData compatible hand animation system. - [X] FXRMotionControllerData compatible wrist tracking system. - [X] FXRMotionControllerData compatible hand interaction manipulation system. - [X] Ability to fallback to hand tracking when a glove is not present and use the bare hands for interactions, or a combination of glove and hand tracking if no motion controller input is detected. - [X] The SenseGlove grab/touch sockets one-click-setup ability on any Epic-compliant virtual hand mesh from within the Unreal Editor's Content Browser, Skeleton Editor, or Skeletal Mesh Editor. - [X] A flexible virtual hand animation system that can take the mesh bone's transforms into account for a more reliable hand animation. - [X] Ability to manage the Engine Scalability Settings through the SenseGlove plugin in order to change the graphics settings on the fly. ### Upcoming features planned for the v2.2.0 release ### Planned features long-term - [ ] Get tracking input from sources other than a SenseGlove device. - [ ] Be able to assign behaviors to different objects (meshes) in the scene (e.g. Slider, Hinge, basic Grabables, etc). - [ ] Make it so developers can define or extend their own behavior(s) to an object through Code / Blueprints (e.g. I want a car door that is like a slider, but follows a path rather than a straight line). - [ ] Make the hand(s) able to push around physics-driven objects (for as much as their behaviors allow) (in backlog). - [ ] Be able to grab objects with up to 2 hands (and move them around with both hands at the same time in a way that seems realistic). - [ ] Ensure that our virtual hands (and the objects they hold) do not phase through other physics objects (e.g. walls and tables). - [ ] Allow other scripts to force a grab and/or release to occur (for example, when you place it apart at the designated location, it gets removed from your hand and snaps into place). - [ ] Have some form of weight simulation by making certain objects harder to push, lowering manipulation speed, or making objects only moveable with two hands. - [ ] (Optional) Make it so the fingers of your virtual hands do not clip inside the meshes you are holding (certain people see this as an indicator of how fast the Force-Feedback activates - but it's basically just rendering).