• v2.9.0 bf90a9d9fb

    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…

    mamadou.babaei 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.7 and 5.8 projects with the latest Visual Studio version.
    • Added support for MSVC Toolsets v145: 14.50.35717 (UE 5.8) and v143: 14.44.35207 (UE 5.8 and 5.7). Previously, the plugin shipped only v143: 14.38.33130, which has now been declared out of support by Microsoft. 14.38.33130 binaries are still shipped, as it remains Epic Games' preferred MSVC toolchain for building UE 5.5 and 5.6 on Microsoft Windows.
    • Added support for the new SenseGlove inter-process communication module SGFakeShm, enabling communication with SenseCom via IPC (named pipes on Microsoft Windows and Unix Domain Sockets on GNU/Linux) and TCP over loopback/localhost mechanisms, in addition to the previously supported Boost::SharedMem. This release also reduces Boost::SharedMem latency 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 restricts SharedMem access, or in cases of conflicts with other applications, we recommend using either IPC or TCP. 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. IPC and TCP over loopback are also typically less restricted than SharedMem in 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 legacy SharedMem transport.
    • Added nanomsg/nng third-party library binaries for Microsoft Windows and GNU/Linux. This is a requirement of the SGFakeShm module.
    • Added google/flatbuffers third-party library binaries for Microsoft Windows and GNU/Linux. This is a requirement of the SGFakeShm module.
    • Added biojppm/rapidyaml third-party library binaries for Microsoft Windows and GNU/Linux. This is a requirement of the SGFakeShm module.
    • Added SGCore's Library::IsInitialized(), Library::Initialize(), and Library::Terminate() wrapper functions to SenseGlove UE C++ and Blueprint API that are required for the underlying SGCore and SGFakeShm initialization 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::AndroidStrings enumerator.
    • 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 DisplayName UPROPERTY specifier for USGDeviceKismetLibrary::GetHapticChannelCount().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGDeviceKismetLibrary::GetHapticChannelCount_CT().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGHapticGloveKismetLibrary::EndCalibration().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGHapticGloveKismetLibrary::GetCalibrationInstruction().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGHapticGloveKismetLibrary::GetCalibrationState().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGHapticGloveKismetLibrary::GetHandAngles().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGHapticGloveKismetLibrary::ResetCalibration().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGHapticGloveKismetLibrary::SetHandGeometry().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGNova2GloveKismetLibrary::GetHandAngles().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGNovaGloveKismetLibrary::GetHandAngles().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGSenseGloveKismetLibrary::CalculateHandPose().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGSenseGloveVarsKismetLibrary::GenerateGloveModel_HV_FV_SFV_bRH().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGSenseGloveVarsKismetLibrary::GenerateGloveModel_HV_FV_SFV_bRH_CI().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGTrackingKismetLibrary::GetNovaToWristRotationOffset_FQuat().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGTrackingKismetLibrary::GetNovaToWristRotationOffset_FRotator().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGTrackingKismetLibrary::GetRightNovaQuestProToAttachRotation_FQuat().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGTrackingKismetLibrary::GetRightNovaViveFocus3ToAttachRotation_FRotator().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGTrackingKismetLibrary::GetSenseGloveTrackerMountOffset_H_bRH_OutPO_FQuat_OutRO().
    • Fix the wrong Blueprint DisplayName UPROPERTY specifier for USGTrackingKismetLibrary::GetSenseGloveTrackerMountOffset_H_bRH_OutPO_FRotator_OutRO().
    • Fix the wrong Blueprint Category UPROPERTY specifier for USGNova2GloveKismetLibrary::SendHaptics().
    • Fix the wrong Blueprint Category UPROPERTY specifier for USGNovaGloveKismetLibrary::SendHaptics().
    • Fix USGHandInterpolatorKismetLibrary::InterpolateHandAngles() Blueprint access by making it static and removing its erroneous const qualifier.
    • 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 new FakeShm back-end significantly improves the performance of the existing SharedMem transport while retaining compatibility with older releases of SenseCom. It also introduces two new transports (communication mechanisms), namely IPC and TCP, on both GNU/Linux and Microsoft Windows.
    • The ThirdParty/lib/windows directory 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, and SGWjwwoodSerialThirdPartyLibs. This helps keep the plugin and generated Android APKs smaller while also reducing linking and build times.
    • SenseGloveConnectImpl module exported C functions have been renamed from SGConnect_Init(), SGConnect_Dispose(), and SGConnect_GetLibraryVersion() to SGConnectImpl_Init(), SGConnectImpl_Dispose(), and SGConnectImpl_GetLibraryVersion() respectively, as the underlying SGConnect library 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() from BlueprintPure to BlueprintCallable.
    • Changed USGThresholdCommandKismetLibrary::GetActiveFingers() from BlueprintCallable to BlueprintPure.
    • Renamed USGHandLayerKismetLibrary::GetWristLocation_bRH_FQuat_RR_TH_OutWP_OutWR() to USGHandLayerKismetLibrary::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 v22 from the distributed third-party binaries shipped with the plugin. Support for the v22 toolchain, which was previously used to build UE 5.3 and 5.4 Linux dependencies, has been dropped since plugin release v2.8.0.
    • Removed btleplug Android dependencies, as the SenseGlove libraries for Android no longer rely on btleplug for BLE communication.
    • Removed invalid WorldContext Blueprint metadata from USGThresholdCommandKismetLibrary::GetFingerActive().
    • Removed invalid WorldContext Blueprint metadata from USGThresholdCommandKismetLibrary::GetThreshold().

    Deprecated

    • This is the last minor release to support Unreal Engine 5.5 and its support will be removed from the next minor or major releases.

    Documentation

    Downloads