--- generated_by: gdlink-build generated_at: 2026-06-23T12:34:28Z do_not_edit: true title: XR Haptic brick_type: executor tier: Pro generated: true --- # XR Haptic **Category:** Executor **Tier:** Pro ## Purpose Triggers vibration feedback on XR controllers. ## Visual Reference ```{raw} html
As added to your scene
XR Haptic brick as it appears in the GDLink editor
``` ## Runtime Behavior **Inputs** - **Activate** (Boolean): Triggers the haptic pulse. **Properties** - **target_hand** (Enum, default `"Active"`): `Left`, `Right`, `Both`, `Active` (the controller that triggered activation) - **intensity** (Float, default `0.5`): Vibration strength (0.0-1.0). - **duration** (Float, default `0.1`): Pulse length in seconds. - **frequency** (Float, default `0.0`): Resonant frequency in Hz (0 = device default; requires hardware support). - **pattern** (Enum, default `"Single"`): `Single`, `Double`, `Ramp` - `Single`: One pulse at specified intensity/duration. - `Double`: Two short pulses separated by a gap (duration/3 each, gap = duration/3). - `Ramp`: Linearly ramp intensity from 0 to `intensity` over `duration`. --- ```{raw} html
Generated UI Mockup — showing expanded properties
XR Haptic
-
x
Name:
Label this brick...
Freq (Hz):
0.0
v
Hand
Active
Pattern
Single
Intensity
0.5
v
Duration
0.1
v
``` ## Properties | Property | Type | Default | Notes | |---|---|---|---| | Hand | option | Active | Target controller (Active = triggering hand) | | Pattern | option | Single | Single pulse, double tap, or intensity ramp | | Intensity | float | 0.5 | Vibration strength (0.0-1.0) | | Duration | float | 0.1 | Pulse length in seconds | | Freq (Hz) | float | 0.0 | Resonant frequency (0 = device default) |