Microtube Docs
Developers / Resources / FAQ

FAQ

Common questions from developers building with HEXR.

Frequently asked

Which headsets and platforms does HEXR support?

HEXR works with Meta Quest 2, Quest 3 and Quest 3S, Pico 4, and Microsoft HoloLens, plus Leap Motion hand-tracking — layering haptics on top of your existing VR/MR setup.

How do I integrate HEXR?

In Unity, install the com.microtube.hexr package and pick OpenXR or Meta OVR as your backend — see Unity integration. Or control the glove directly from Python.

Is Unreal supported?

Not yet. Today HEXR ships a Unity package and a Python library — there is nothing to install for Unreal at the moment. Unreal support is in progress. If you are planning an Unreal project, tell us: what people actually need shapes what gets built first.

How do I get the Meta XR SDK?

The Unity package registry does not carry com.meta.xr.sdk.*, so Package Manager cannot install it by name on its own. Open the free Meta XR All-in-One SDK on the Asset Store, click Add to My Assets, then install it in Unity from Window → Package Manager → My Assets. After that, press Re-scan in HexR → HexR Tools → Project Setup. OpenXR needs none of this — all of its packages come from the Unity registry.

Which Unity version do I need?

Unity 2022.3 LTS or newer, verified through Unity 6.x. That is what the com.microtube.hexr package declares, and Package Manager will refuse to install it on anything older. You also need git on your PATH, because Unity shells out to it to fetch the package. The full support matrix — and what to do when a Unity upgrade breaks a build — is on Unity version support.

Do I have to copy the HEXR folders into my project?

No — not ours. Install the package from its git URL and everything of HEXR’s comes with it: scripts, prefabs, the HaptGlove runtime and the Bluetooth transports for Windows, Android and macOS. Copying those folders out of a tutorial project instead gets you duplicate assemblies and a compile error.

Your XR backend is a different matter. HEXR deliberately depends on neither OpenXR nor Meta OVR — it compiles in a project with no XR at all — which also means nothing installs one for you. You still need to bring your own backend and a hand-tracking rig from it, and some HEXR components expect that backend’s types to be present.

Open HexR → HexR Tools → Project Setup, pick the backend your project targets, and install whatever it reports missing. OpenXR packages all come from Unity’s own registry; the Meta XR SDK does not, so it needs adding to your Unity account first — see Unity integration.

I set everything up but no haptics fire. What is wrong?

Find out whether the glove or your scene is at fault before changing any code — the two look identical from inside Unity.

  1. Test the glove on its own

    Open HEXR Window Tester, connect the glove, select a single channel and press Trigger. This takes your project out of the picture entirely.

  2. Nothing in the tester either? It is the hardware

    Check the arm module is powered and the battery light is not red. Then check the fit — a finger that is not pushed all the way in leaves the indenter off the fingertip, and nothing is felt even though the channel is working. Then run Quick test: one bad channel is an indenter or valve fault, all six failing at once is the pump or its supply.

  3. It fires in the tester? Then the glove is fine — it is your scene

    Work through the list below one change at a time, pressing Play after each. Changing three things at once and getting haptics tells you nothing about which one mattered, and these faults stack — fixing the collider does nothing while the glove is still unconnected.

CheckWhy it silences everything
The glove is actually connected in the sceneThe connection is made from your own project. If ConnectLeftBT() / ConnectRightBT() never ran, or the in-scene panel was never used, every call is sent to nothing. Check the connection state before blaming anything else
Pressure Controllers are in the sceneEvery haptic call looks one up and produces nothing without it. HexR → Create HexR Rig adds them
A hand-tracking rig existsHEXR follows a rig that is already there; it does not create one. No tracked hand, no hand-near, no haptics
The object has a RigidbodyHexRGrabbable needs a Rigidbody and a trigger Collider on the same GameObject. Without the Rigidbody the trigger events never fire, so nothing downstream runs
The Collider is set to Is TriggerA solid collider collides; it does not raise the trigger events HEXR listens for
OpenXR only: a ProximityCheck on the objectOn OpenXR it is the only thing that tells HEXR a hand is near, so a scene without one is silent. Add one and press its Auto Set Up. On Meta OVR the grab and poke interactors supply this instead
Run Validate Scene SetupHexR → Validate Scene Setup reports anything still unwired, and catches most of the above in one pass
Is hand-tracking required?

Yes. HEXR doesn't track your hand itself — it relies on hand-tracking from your headset or an external device like Leap Motion, and adds the touch-feedback layer on top. See Working with hand-tracking.

Can I pip install the Python library?

Not yet — HaptGlovePython runs from a clone (git clone, then pip install -r requirements.txt). Publishing it to PyPI would enable pip install.

What is the latency?

Under 20 ms from event to sensation, so feedback feels instant.

Can I use HEXR with custom or research hardware?

Yes — we partner on custom and research integrations. Reach out via the contact page.

Where do I report bugs or request features?

Open an issue on GitHub, or contact us directly.