Microtube Docs
EN中文
Developers / Godot / Quest & PICO walkthrough

Godot tutorial walkthrough

Three ready-to-run scenes for Meta Quest and PICO, and how each one adds its haptics.

Get the project

  1. Clone it

    HexR-Developer-Tutorial-Godot ↗. It already holds the HexR addon 0.2.0, the OpenXR Vendors plugin 5.1.0 and Godot XR Tools 4.5.2.

  2. Open it in Godot 4.6+

    The first import takes a minute.

  3. Install the Android build template

    Project → Install Android Build Template.

  4. Export

    Pick the Quest or PICO preset and export, or plug the headset in and use Remote Deploy. Use hand tracking: put the controllers down.

The scenes

1 · Basic Tutorial

ObjectHow the haptics are addedWhat you feel
FoamHexRGrabbable, palm grab, strength 20A soft press on each finger around it
KeyHexRGrabbable, pinch grab, strength 40A firm pinch
TorchHexRGrabbable + SpecialHaptics (custom vibrations, 25 Hz) on the flameHolding it, then a buzz when a fingertip enters the flame
ButtonHexRPhysicalButton → the bulb’s toggle()A press on the index while it is down
XR Tools ballXR Tools pickable.tscn + HexRInteractableHapticsPressure that follows how hard you squeeze

2 · Hospital Tutorial

ObjectHow the haptics are addedWhat you feel
Wrist and neckSpecialHaptics, heart beatA pulse under the fingertips
Pulse buttonHexRPhysicalButton → heartbeat_toggle.gdEvery pulse turns regular or irregular
HeartHeart beat zone (palm included) + hand squeeze zone, squeezing_heart.gdIt beats in your palm; squeeze and it races

3 · Water Effects

ObjectHow the haptics are addedWhat you feel
FountainSpecialHaptics, fountainRunning water: 18 Hz on the fingers in the jet
Rain cloudSpecialHaptics, rain dropRandom drops on an upturned palm

Switch scenes from the floating menu’s Scenes section, or from the HexR Companion. Both list Project Settings → HexR → Scenes.

Three ways the scenes add haptics

The scenes are generated by tools/build_scenes.gd, so their layout and wiring read in one file. Edit the scenes freely; re-running the builder overwrites them.