Microtube Docs
Developers / Getting started / Overview

Getting Started

Install the HEXR SDK, trigger your first haptic event, and learn the core concepts — for Unity and Python.

Overview

HEXR is a wearable haptic glove that brings the sense of touch into VR, mixed reality and other interactive apps. At a high level, four steps take you from the glove to working haptic feedback in your project:

  1. Connect

    The glove pairs wirelessly over Bluetooth (BLE) to your game or app — no cables to your machine.

  2. Build

    Develop in Unity (via OpenXR, Meta OVR or MRTK) or drive the glove directly from Python.

  3. Trigger

    Fire haptics from events in your code or from physics-based colliders in your scene — to simulate touch (pressure) or vibration.

  4. Customize

    Address each finger independently, and tune every actuation across three parameters — intensity (target pressure), speed (how fast it ramps) and frequency (vibration).

HEXR relies on your headset or Leap Motion for hand-tracking and layers realistic feedback on top, with sub-20 ms response. This guide takes you from an empty project to your first haptic pulse — if you prefer to read code, jump straight to the Quickstart.

Prerequisites

Tip

New to HEXR hardware? Pair and power on the glove first, then confirm it appears in the HEXR companion app before wiring up the SDK.

Installation

Pick your platform. In Unity, choose your runtime tutorial (OpenXR, Meta OVR or MRTK); for Python, install the library.

Each Unity integration ships as a complete tutorial project — the HEXR package plus a working demo scene. Clone the one for your runtime:

shell
# Example: the OpenXR tutorial
git clone https://github.com/MicrotubeTechnologies/HexR-developer-tutorial-XR.git

Clone the Python repo and install its dependencies:

shell
git clone https://github.com/MicrotubeTechnologies/HaptGlovePython.git
cd HaptGlovePython
pip install -r requirements.txt

Then run AddressDiscovery.py to find your glove's Bluetooth address and set it in ExampleHaptics.py.

Note

The Python control library talks to the glove over Bluetooth (BLE) using bleak. It's run from a clone, not yet published as a pip package — adding a pyproject.toml to the repo would enable pip install.

Quickstart

Connect to a glove and fire a short pulse when the user touches an object.

In Unity, the integration is handled by the tutorial project for your runtime — clone it, open the demo scene, and you have a working HEXR setup to build on. Start with the OpenXR, Meta OVR or MRTK tutorial.

Soon

A full C# API reference for Unity is on the way — for now, the tutorial projects show the current integration end to end.

python
import asyncio
from bleak import BleakClient
from Haptics import Haptics

DEVICE_ADDRESS = "EC:C9:FF:45:92:86"   # your glove (see AddressDiscovery.py)
CHAR_UUID      = "0000ff01-0000-1000-8000-00805f9b34fb"

async def main():
    haptics = Haptics("right")
    async with BleakClient(DEVICE_ADDRESS) as client:
        # Pressure on all fingers — intensity 0.1–1.0
        data = haptics.hexr_pressure_multiple(
            ["Thumb","Index","Middle","Ring","Pinky"],
            [True]*5, [0.8]*5, [1.0]*5)
        await client.write_gatt_char(CHAR_UUID, data)
        await asyncio.sleep(5)

asyncio.run(main())
Warning

Always check that a glove is connected before sending events — calls to a disconnected glove are ignored, but polling in a tight loop can flood the driver. Gate feedback behind your interaction callbacks.

Core concepts

Haptics triggers

Haptics are triggered in one of two ways: by events you raise in code — a touch, a grasp, a release — or by physics-based colliders in your scene, where contacting or entering a collider fires the feedback automatically. Choose whichever suits the interaction: explicit events for full control, or colliders for hands-off, physics-driven touch.

Collider-based touch

For physics-driven feedback, HEXR places colliders on the fingertips and palm. These use Unity trigger-based colliders — when a fingertip or the palm overlaps a virtual object's collider, the trigger fires the haptic feedback, mimicking the sensation of touch. It's a hands-off way to feel objects in a scene without wiring up explicit events.

Actuators & fingers

Each glove exposes soft pneumatic actuators mapped to the fingers. You address feedback per finger, with a target intensity, a speed to reach it, and a frequency for vibration.

ParameterTypeDescription
fingerFingerWhich finger to actuate (Thumb…Pinky)
intensityfloat 0–1Target pressure of the actuation
speedfloat 0–1How fast it ramps to the target intensity — 1 reaches it as fast as possible, 0.1 ramps up slowly
frequency0–40Adds vibration to the actuation — 0 is steady pressure, higher values vibrate faster

Hand-tracking

HEXR does not track your hand on its own — it relies on external hand-tracking, either from your headset (Meta Quest 2/3/3S, Pico 4, HoloLens) or a device like Leap Motion. HEXR adds the touch-feedback layer on top of that tracking.

Next

Ready to go deeper? Grab the HaptGlovePython library or a runtime tutorial — deeper integration guides and the full API reference are coming soon.