Virtuoso Software Development Kit (VSDK)
An actively developed open-source solution for creating VR experiences
When Charles River Analytics engineers build VR solutions for challenging projects in training, task support, and simulation, they turn to the Virtuoso Software Development Kit (VSDK), their actively developed, free, and open-source project. VSDK works with the Unity game engine and is based on a fork of VRTK version 3.3 and is under development for the Unreal engine. VSDK helps developers create naturalistic user interactions and supports hardware interoperability across a wide variety of XR devices and peripherals.
VSDK includes support for major off-the-shelf XR systems—including HTC Vive, Oculus Rift, and Oculus Quest—as well as more innovative peripherals for haptics and hand tracking, including the bHaptics TactSuit, Leap Motion, and ManusVR gloves. VSDK is equally suited for the development of training applications, research studies, and games.
Files and documentation for VSDK are hosted on Github, including a Device Roadmap, Feature Roadmap, FAQ, setup steps, a prototyping tutorial, and a game tutorial. To use VSDK, some experience with the Unity Engine is recommended. Tutorial videos are also available on YouTube.
VSDK lets you integrate many different hardware devices into your VR experiences
Here are some of the features that make VSDK an excellent choice for building your XR experience:
- Device Interoperability: VSDK supports a wide variety of devices and device types—you only need to develop your experience once to deploy to multiple platforms. Plug-and-play a variety of devices, including HTC Vive, Oculus Rift, and Oculus Quest, to increase your app’s flexibility and reduce repeated work.
- Naturalistic Interactions: VSDK lets you build naturalistic physical interaction systems by providing Interactable Objects and Interaction Areas that users can manipulate with controllers or hands.
- User Virtual Environment Interaction Library: Draw from a library of common user interactions and objects native to virtual environments to increase immersion and training transfer.
- Hand Tracking: VSDK provides interoperability for devices like Leap Motion and ManusVR, enabling users to directly interact with objects with their own hands.
- Haptics: VSDK includes the scripts needed to implement haptics across one or more devices, including haptic patterns and pattern localization using the standard Unity avatar. VSDK enables the creation of physics-based and pattern-driven haptic feedback with support for devices as simple as controllers, or as extensive as full-body haptic suits—including the bHaptics Tactsuit.
- Object Tracking: VSDK makes it easy to include tracked objects in your projects.
- The Reaction System: VSDK includes Reactions and Reactors so you can define object behaviors based on interactions without writing any code.
One of VSDK’s focus areas is support for fine-motor control interactions, to allow serious simulation and training application developers to more accurately recreate real-world scenarios.
VSDK files and documentation are available at Github.
This material is based upon work supported by the U.S. Army Research Laboratory Human Research Engineering Directorate (HRED) - Advanced Training and Simulation Division (ATSD) and the Army Contracting Command (ACC)-Aberdeen Proving Ground (APG)-Research Triangle Park Division (ACC-APG-RTP), Orlando Branch under Contract No. W911NF-16-C-0011. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the ATSD.