Skip to main content
Version: 3.4.x

← 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.Unity → Haply.Inverse.
      • Haply.Inverse.Unity.Internal → Haply.Inverse.
  • Component Name Updates:

    • DeviceBehaviour → DeviceControllerBase.
    • CursorBehaviour → CursorBase.
    • Editor class updates:
      • DeviceBehaviourEditor → DeviceControllerBaseEditor.
  • Controller Refactoring:

    • Inverse3 → Inverse3Controller.
    • VerseGrip → VerseGripController.
    • Property and method name updates in Inverse3Controller:
      • Joint3 → Angle3.
      • JointsAngles → AngularPosition.
      • JointsAngularVelocity → AngularVelocity.
      • JointsAnglesOutput → AngularPositionOutput.
      • JointsSetAngles → SetAngularPosition.
      • JointsSetTorques → SetAngularTorque.
  • 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 Vector3Settings → PositionConverter and QuaternionSettings → RotationConverter.
  • 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