-
This minor release introduces a major IPC overhaul, significant inter-process communication performance improvements and bug fixes, along with Unreal Engine `5.8` and Microsoft Visual Studio 2026 support. This release also introduces breaking Blueprint…
released this
2026-07-13 18:22:50 +00:00 | 8 commits to master since this release… API changes.
Added
- Added support for Unreal Engine
5.8. - Added support for Microsoft Visual Studio 2026 to allow building UE
5.7and5.8projects with the latest Visual Studio version. - Added support for MSVC Toolsets
v145: 14.50.35717(UE5.8) andv143: 14.44.35207(UE5.8and5.7). Previously, the plugin shipped onlyv143: 14.38.33130, which has now been declared out of support by Microsoft.14.38.33130binaries are still shipped, as it remains Epic Games' preferred MSVC toolchain for building UE5.5and5.6on Microsoft Windows. - Added support for the new SenseGlove inter-process communication module
SGFakeShm, enabling communication with SenseCom viaIPC(named pipes on Microsoft Windows and Unix Domain Sockets on GNU/Linux) andTCP over loopback/localhostmechanisms, in addition to the previously supportedBoost::SharedMem. This release also reducesBoost::SharedMemlatency and increases data throughput, which should help improve frame rate and overall performance. Please note that communication over SharedMem is still blocking (non-async) in nature, so in enterprise environments where security software typically restrictsSharedMemaccess, or in cases of conflicts with other applications, we recommend using eitherIPCorTCP. These transports have been implemented from scratch using an asynchronous, non-blocking architecture, although the new SenseCom also supports optional blocking communication modes and additional configuration tweaks if desired.IPCandTCP over loopbackare also typically less restricted thanSharedMemin enterprise environments and generally provide significantly lower latency. This helps maintain smooth frame rates by decoupling rendering and data exchange with SenseCom. Furthermore, the new SenseGlove UE plugin and SenseCom remain backward compatible with older releases of SenseCom and the UE plugin without requiring any specific configuration. They can automatically detect and fall back to the legacySharedMemtransport. - Added nanomsg/nng third-party library binaries for Microsoft Windows and GNU/Linux. This is a requirement of the
SGFakeShmmodule. - Added google/flatbuffers third-party library binaries for Microsoft Windows and GNU/Linux. This is a requirement of the
SGFakeShmmodule. - Added biojppm/rapidyaml third-party library binaries for Microsoft Windows and GNU/Linux. This is a requirement of the
SGFakeShmmodule. - Added
SGCore'sLibrary::IsInitialized(),Library::Initialize(), andLibrary::Terminate()wrapper functions to SenseGlove UE C++ and Blueprint API that are required for the underlyingSGCoreandSGFakeShminitialization and termination and automatically initialize or terminate the library at the relevant module's startup or shutdown, eliminating the need for manual initialization or termination by plugin users. - Added third-party module
SGFakeShmThirdPartyLibs. - Added third-party module
SGFlatBuffersThirdPartyLibs. - Added third-party module
SGNngThirdPartyLibs. - Added third-party module
SGRapidYamlThirdPartyLibs. - Added
SGBuildHacks/SGInclude_Core_DeviceTypes. - Added missing
ESGBackendType::AndroidStringsenumerator. - Added missing SenseGlove API Blueprint function
USGLibraryKismetLibrary::GetBackendType(). - Added the Microsoft Windows and GNU/Linux binary distribution of SenseGlove FakeShm Module Tuning Utilities to the SenseGlove Unreal Engine Plugin repository on Microsoft Azure repositories. These binaries are not part of the official plugin release via the Fab Store.
Fixed
- This release ships a revamped version of the SenseGlove libraries with numerous bug fixes, multithreading improvements, SharedMem performance enhancements, BTSerial fixes, and many other improvements.
- Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGDeviceKismetLibrary::GetHapticChannelCount(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGDeviceKismetLibrary::GetHapticChannelCount_CT(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGHapticGloveKismetLibrary::EndCalibration(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGHapticGloveKismetLibrary::GetCalibrationInstruction(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGHapticGloveKismetLibrary::GetCalibrationState(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGHapticGloveKismetLibrary::GetHandAngles(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGHapticGloveKismetLibrary::ResetCalibration(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGHapticGloveKismetLibrary::SetHandGeometry(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGNova2GloveKismetLibrary::GetHandAngles(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGNovaGloveKismetLibrary::GetHandAngles(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGSenseGloveKismetLibrary::CalculateHandPose(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGSenseGloveVarsKismetLibrary::GenerateGloveModel_HV_FV_SFV_bRH(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGSenseGloveVarsKismetLibrary::GenerateGloveModel_HV_FV_SFV_bRH_CI(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGTrackingKismetLibrary::GetNovaToWristRotationOffset_FQuat(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGTrackingKismetLibrary::GetNovaToWristRotationOffset_FRotator(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGTrackingKismetLibrary::GetRightNovaQuestProToAttachRotation_FQuat(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGTrackingKismetLibrary::GetRightNovaViveFocus3ToAttachRotation_FRotator(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGTrackingKismetLibrary::GetSenseGloveTrackerMountOffset_H_bRH_OutPO_FQuat_OutRO(). - Fix the wrong Blueprint
DisplayNameUPROPERTY specifier forUSGTrackingKismetLibrary::GetSenseGloveTrackerMountOffset_H_bRH_OutPO_FRotator_OutRO(). - Fix the wrong Blueprint
CategoryUPROPERTY specifier forUSGNova2GloveKismetLibrary::SendHaptics(). - Fix the wrong Blueprint
CategoryUPROPERTY specifier forUSGNovaGloveKismetLibrary::SendHaptics(). - Fix
USGHandInterpolatorKismetLibrary::InterpolateHandAngles()Blueprint access by making it static and removing its erroneousconstqualifier. - Fix
SGCustomWaveformKismetLibrary::GetWaveType()Blueprint access by making it static. - Fix
SGDeviceKismetLibrary::FirmwareNewerThan_FM_FS_bI()Blueprint access by making it static. - Fix
SGInterpolationSetKismetLibrary::GetX1()Blueprint access by making it static. - Some code quality and build time optimizations by removing redundant headers and relying on more forward declarations where/when possible.
- Additional minor fixes and improvements that may not be listed here.
Changed
- Bumped the SenseGlove libraries to
v2.400.1-302a8aa67. This release introduces new Inter-Process Communication (IPC) capabilities and delivers significant improvements and bug fixes, particularly in multithreaded code. The newFakeShmback-end significantly improves the performance of the existingSharedMemtransport while retaining compatibility with older releases of SenseCom. It also introduces two new transports (communication mechanisms), namelyIPCandTCP, on both GNU/Linux and Microsoft Windows. - The
ThirdParty/lib/windowsdirectory structure has been revamped to support multiple MSVC toolsets/toolchains and the distribution of binaries built for every MSVC configuration supported by Epic Games on supported engine/plugin versions. - The following third-party binaries/libraries are no longer distributed or linked on Android:
SGBleThirdPartyLibs,SGConnectShmThirdPartyLibs,SGCoreShmThirdPartyLibs,SGSerialThirdPartyLibs, andSGWjwwoodSerialThirdPartyLibs. This helps keep the plugin and generated Android APKs smaller while also reducing linking and build times. SenseGloveConnectImplmodule exported C functions have been renamed fromSGConnect_Init(),SGConnect_Dispose(), andSGConnect_GetLibraryVersion()toSGConnectImpl_Init(),SGConnectImpl_Dispose(), andSGConnectImpl_GetLibraryVersion()respectively, as the underlyingSGConnectlibrary exports functions with the exact same names. This change resolves link-time issues caused by duplicate symbols. This should not affect the existing SenseGlove Blueprint or C++ APIs, as these functions are used internally.- Changed
USGBasicHandModelKismetLibrary::SetStartJointPosition_uint8_F_P()fromBlueprintPuretoBlueprintCallable. - Changed
USGThresholdCommandKismetLibrary::GetActiveFingers()fromBlueprintCallabletoBlueprintPure. - Renamed
USGHandLayerKismetLibrary::GetWristLocation_bRH_FQuat_RR_TH_OutWP_OutWR()toUSGHandLayerKismetLibrary::GetWristLocation_bRH_RP_FQuat_RR_TH_OutWP_OutWR()to adhere to the standard SenseGlove name mangling.
Removed
- Removed SenseGlove library binaries built with Epic Native/Cross Toolchains
v22from the distributed third-party binaries shipped with the plugin. Support for thev22toolchain, which was previously used to build UE5.3and5.4Linux dependencies, has been dropped since plugin releasev2.8.0. - Removed
btleplugAndroid dependencies, as the SenseGlove libraries for Android no longer rely onbtleplugfor BLE communication. - Removed invalid
WorldContextBlueprint metadata fromUSGThresholdCommandKismetLibrary::GetFingerActive(). - Removed invalid
WorldContextBlueprint metadata fromUSGThresholdCommandKismetLibrary::GetThreshold().
Deprecated
- This is the last minor release to support Unreal Engine
5.5and its support will be removed from the next minor or major releases.
Documentation
- Added the SenseCom > FakeShm Module Tuning documentation section.
- List a new OpenXR Hand Interactions System From Scratch (Pure Blueprint) demo and its companion Video Documentation: Building OpenXR Hand Interactions from Scratch in Unreal Engine inside the Extra Resources section.
- Added The c4core C++ Library Licence section.
- Added The c4project CMake Scripts Licence section.
- Added The Debug Break Library Licence section.
- Added The fast_float Number Parsing Library Licence section.
- Added FlatBuffers Memory Efficient Serialization Library Licence section.
- Added nanomsg-next-generation Lightweight Brokerless Messaging Library License section.
- Added The Rapid YAML Parsing and Emitting Library Licence section.
- Fixed a typo in the URL of the Loguru Logging Library License section.
- Updated the SGBLE and SGBLExx Rust Dependencies License section.
- Updated the Plugin Directory Structure section to reflect the recent changes.
- Updated the Platform Support Matrix section to reflect the recent changes.
- Additional minor fixes and improvements that may not be listed here.
- Fix
USGBetaDevice::Parse()andUSGBetaDeviceKismetLibrary::Parse()documentation. - Fix swapped in-header documentation for
USGHapticGlove::ResetCalibration()andUSGHapticGlove::EndCalibration(). - Fix incorrect class description in
USGSenseGloveSensorNormalizerandUSGSenseGloveSensorNormalizerKismetLibrary. - Bumped mdBook crate to
v0.5.4 - Bumped the Michael-F-Bryan/mdbook-epub crate to
v0.5.4. - Bumped HollowMan6/mdbook-pdf to
v0.1.13. - Bumped Handbook's Rust toolchain to
v1.96.1.
Downloads
- Added support for Unreal Engine