Skip to main content
Version: 3.1.3

← Back to index page

3.1.0 Changelog

Dependencies

  • Haply Inverse SDK version 3.1.0:
    • Updated to support Inverse SDK 3.x.x communication protocol.
    • Enhanced JSON serialization to align with Inverse SDK 3.1.0 payload formats.

Breaking Changes

  • Library Removal and Refactor:

    • Removed Haply.Inverse 2.x.x libraries.
    • Refactored namespaces for better consistency:
      • Haply.Inverse.UnityHaply.Inverse.
      • Haply.Inverse.Unity.InternalHaply.Inverse.
  • Component Name Updates:

    • DeviceBehaviourDeviceControllerBase.
    • CursorBehaviourCursorBase.
    • Editor class updates:
      • DeviceBehaviourEditorDeviceControllerBaseEditor.
  • Controller Refactoring:

    • Inverse3Inverse3Controller.
    • VerseGripVerseGripController.
    • Property and method name updates in Inverse3Controller:
      • Joint3Angle3.
      • JointsAnglesAngularPosition.
      • JointsAngularVelocityAngularVelocity.
      • JointsAnglesOutputAngularPositionOutput.
      • JointsSetAnglesSetAngularPosition.
      • JointsSetTorquesSetAngularTorque.
  • Coordinate Conversion System:

    • Updated the Icon Forward Pose preset to compensate for the default device controller rotation (90° and -90°).
    • Updated the transformation logic to permute axes → scale → offset, now aligning with Unity’s built-in logic.

      Previously, it followed permute axes → translate → offset (scaled), which was less intuitive and less compatible with optimized built-in methods.

    • Renamed Vector3SettingsPositionConverter and QuaternionSettingsRotationConverter.
  • Event System Changes:

    • DeviceStateChanged event in Inverse3Controller now uses EventHandler with Inverse3EventArgs.
    • DeviceStateChanged event in VerseGripController now uses EventHandler with VerseGripEventArgs.

Missing/Removed Features

  • Deferred Features:

    • ConnectionMonitorWindow, ClientConfiguration, and PerformanceData have been removed temporarily. These features will be restored in future updates.
  • API Changes:

    • Removed the Inverse3Controller.RequestOrientation() method.
    • Removed the OrientationChangedAsync event.

New Features

  • Wireless Device Support:

  • Protocol Upgrade:

    • ClientConnection has been upgraded to support Inverse SDK 3.x.x communication protocol.
  • Device Mapping:

    • Added options for enabling and disabling auto-mapping and auto-connecting for runtime device setup.
    • Added new methods for better device management:
      • FetchDeviceListOnce and StartFetchingDeviceListWithRetry for fetching device lists.
      • GetInverse3Devices and GetVerseGripDevices for retrieving connected device lists.
      • GetInverse3Controllers and GetVerseGripControllers for retrieving scene controllers filtered by handedness, device type, etc.
      • MapDevices for mapping devices to specific controllers.
      • UnmapDevices for removing device mappings.
      • SwapInverse3 and SwapVerseGrip for swapping devices between controllers.
  • Probing Enhancements:

    • Introduced ProbeCursorPosition method in Inverse3Controller for retrieving cursor positions without sending control commands.
    • Added ProbeAngularPosition method in Inverse3Controller for retrieving angular positions without sending control commands.
  • Inverse3Gizmos:

    • Gizmos now correctly respect coordinate conversion, handedness, and scene transform in both runtime and editor modes.
    • Displayed device 3-axis handle at the workspace center (reflecting real device axes).

Fixes and Improvements

  • Performance:
    • Optimized coordinate converter for improved performance and stability.
  • Cursor Radius Calculation:
    • CursorBase now calculates the scaled radius for all primitive meshes.
  • Safety Checks:
    • Prevented unsafe transitions between control modes.

← Back to index page