Microtube Docs
Developers / Resources / Changelog

Changelog

What changed in each release of the HEXR Unity package, the Python library and the glove.

Unity package — com.microtube.hexr

The current release is 0.9.4, released 11 October 2026. Every release is a tag on the package repository, so you can pin one with #v0.9.4 on the end of the git URL. To see which one a project has, read the "version" field in the package’s package.json, or the entry in Packages/packages-lock.json.

ReleaseDateWhat changed
0.9.4 — current11 Oct 2026Fixes the Unity issues listed for 0.9.3, except the Mac one — see What 0.9.4 fixes. New: HexRManager.Connect, Disconnect, IsConnected and IsConnecting; HaptGloveHandler.ReleaseAllChannels, ReleaseChannels and releaseWhenPaused; PressureTrackerMain.StrengthToIntensity. The glove is released when the app quits, pauses or disconnects. The package carries edit-mode regression tests. Things feel different: see Upgrading.
0.9.323 Sep 2026The HexR menu shows each finger’s haptics live. HexRGrabbable stays as the alternative grab rather than being deprecated. HexRInteractableHaptics gains Auto Find Pressure Controllers.
0.9.223 Sep 2026PICO: grab haptics now find the XR Interaction Toolkit’s interactors. Show Colliders is visible on hands drawn on culled layers.
0.9.123 Sep 2026The HexR menu ships where the Meta tutorial placed it: to the user’s left, facing them, 0.26 m wide.
0.9.023 Sep 2026Breaking. No ghost hand on either backend: the fingertip and palm triggers sit on your SDK’s tracked hand. PhysicsHandTracking is now HexRTrackedHand. See Upgrading.
0.8.0–0.8.521 Sep 2026The rig prefab has one root again. Menu rework: connection status on the button, passthrough on by default, a scene switcher. Android asks only for the Bluetooth permissions the device actually has. Bluetooth connect diagnostics in the log.
0.7.0–0.7.921 Sep 2026One menu: the HexR menu (HexR → Add HexR Menu) replaces the HexR Panel and becomes the whole control surface, with buttons pressed by a real fingertip. A slimmer HexRManager, and dead code removed.
0.6.021 Sep 2026One HexRInteractableHaptics component for both OpenXR and Meta. The HaptGlove runtime ships as source in the HaptGlove.Runtime assembly instead of a precompiled HaptGlove.dll. Bluetooth drops are detected and retried with backoff.
0.5.0, 0.5.115–16 Sep 2026PICO support, through the OpenXR path.
0.4.023 Aug 2026Unity 2022.3 through 6.x from one codebase.
0.3.0, 0.3.113–21 Aug 2026First release as a standalone package. Neither XR backend is a hard dependency. Create Demo Scene and setup tooling.

How 0.9.4 was tested. It compiles against Unity 6000.6 with XR Interaction Toolkit 3.6.0 and with Meta XR SDK 205, and its 34 edit-mode regression tests pass. With six of the fixed bugs put back, the tests that cover them fail. It has not yet been run on a headset with a glove, and the tutorial projects still pin 0.9.3.

What 0.9.4 fixes

In 0.9.3In 0.9.4
HexRInteractableHaptics.strength was passed as 10–60 into a call that takes 0.1–1, so every value pressed at full strength. SpecialHaptics’ Custom Haptics pressure and HexRPhysicalButton.pressPressure did the sameAll three are converted, so 10 is the glove’s lightest pressure (about 15 kPa) and 60 its firmest (about 50 kPa)
followGrip had no effect: it looked for FingerUseTracking on the Pressure ControllerIt finds it on the hand, where the rigs keep it, and scales the pressure with the grip
HexRGrabbable threw on start without a parent object — the Create Demo Scene cube among them — and its haptics threw on grab. At its default strength of 10 the glove ignored it anywayIt starts at the scene root, sends to the right glove, uses the 10–60 scale, and releases if disabled mid-grab
ConnectLeftBT() / ConnectRightBT() threw without the HexR menu, and that hand could not connect again until the scene reloadedThey work without the menu, and Connect(hand) is a connect that never disconnects
The OpenXR hand-near check did not read XRI 3’s Near-Far Interactor, and Validate Scene Setup asked for a ProximityCheck regardlessA Near-Far Interactor’s near grabs count. The validator accepts wired interactors or a ProximityCheck
On Meta, Auto Setup looked for the grab and poke interactors only under the handIt also looks beside the hand, where the Interactions Rig keeps them, and takes only that hand’s
HexRUsable could not tell the hands apart on Meta, and threw after every useIt reads the hand from the touch point, on both backends
Nothing released the glove when the app quit or paused. SpecialHaptics did not release when disabledQuitting, pausing and disconnecting release the glove; so does disabling a SpecialHaptics zone

Known issues in 0.9.4

IssueWorkaround
If the app crashes or the Bluetooth link drops, the glove keeps its last pressure: nothing can reach it, and its firmware does not release on link lossSwitch the arm module off. In code, release on reconnect — see Release on reconnect
On a Near-Far Interactor, hover counts as hand-near only with far casting switched offFire on Select, or put a ProximityCheck on the object
A macOS Bluetooth library ships in the package, but nothing calls it, so Unity cannot connect to the glove on a MacDevelop on Windows, or use the Python library on macOS
The Python library pins bleak 0.22.3, which does not install on Python 3.14 or newerUse Python 3.8 to 3.13

Upgrading

FromWhat to do
0.9.3Nothing to change in your scenes, but things feel different. Every strength now applies where before they all pressed at full strength, so a strength of 30 is about 30 kPa, not 50, and the HexR menu’s buttons press more lightly; raise a value that now feels too light. Follow grip now follows the grip. HexRGrabbable at its default strength of 10 is now felt. The glove lets go when the app quits or pauses — turn off releaseWhenPaused if you need it held through a pause. HexRUsable fires WhenStopUsingTriggerEvents once after a use, rather than every frame the hand is open
Before 0.9Code that referenced PhysicsHandTracking, HexrRoot or the rotation offsets needs updating; scenes keep working, because HexRTrackedHand kept the same script GUID. A project with its own copy of the rig under Assets/, or an unpacked rig in a scene, can strip the ghost hand with HexR → Migration → Remove Ghost Hand. Then run HexR → Troubleshoot → Re-run Auto Setup in each scene
Before 0.7The HexR Panel is gone. Add the HexR menu with HexR → Add HexR Menu
Before 0.6Delete any HaptGlove.dll or ArduinoBluetoothAPI* binaries of your own under Assets/Plugins/. They now collide with the package’s HaptGlove.Runtime and stop the project compiling
0.2.xThe package no longer pulls in the Meta SDK. A Meta project that relied on it must now declare the Meta XR SDK itself

Python library — HaptGlovePython

The Python library has no numbered releases. Use the latest commit on its main branch, last updated 5 May 2025.

Glove hardware

HEXR Glove 2.0 is the current generation: an untethered pneumatic glove with the electronics in an arm module at the wrist. This is the hardware version, not a software version. See The kit & hardware.