Skip to content
EN

Other Components

For the Trigger family see Trigger Components, and for Parameter Binding see Parameter Binding. This page covers the remaining runtime components. All of them can be added from Add Component → Hapbeat/.

ComponentRole
Hapbeat Address Override PanelGenerates a UI for setting player / group at runtime
Hapbeat Status OverlayA debug HUD showing connection state and event history in UI Text
Hapbeat Key DispatcherMaps a single key press to a UnityEvent
Hapbeat Action HelperMakes Stop / StopAll / StopStream / Ping callable from the Inspector
Hapbeat Event Logger (Diagnostic)Prints UnityEvent firings to the Console with timestamps

Adding a single one to a GameObject generates a runtime UI with Player -/+ , Group -/+ , Play, Apply and Exit. You do not need to build a UI hierarchy in the scene. For its purpose and design background, see Targeting.

ItemDefaultDescription
SpaceScreenSpaceOverlayScreen-fixed HUD. Use WorldSpace to place it in space for VR
World Attach ModeLazyFollowLazyFollow = moves in front of you only when it leaves your view / WorldFixed = stays where you put it
Follow Distance1.5 mDistance from the camera in WorldSpace
Follow Vertical Offset0 mSame, vertical position
Follow Deadzone Degrees10°It does not move while within this angle
Follow Smooth Seconds0.25 sTime constant of the movement
World Pixel Density3 (range 1–8)Font rasterization resolution in WorldSpace

Leaving Follow Camera unset uses Camera.main. If no camera is found, it warns once and behaves as WorldFixed.

RegisterFocusable / MoveFocus / ActivateFocused drive a 2D focus grid. The actual work behind Play / Exit is injected externally through OnPlayRequested / OnExitRequested. For an implementation example, see the VR Config Example sample (→ VR Config Example).

PanelCanvasTransform / IsFollowingView / FollowVerticalOffset / SnapToView() are public. Use them to hang your own world-space UI under the panel Canvas, or to implement a “bring it back to the centre of my view” action.

If it looks clean in the Editor (Air Link etc.) but soft only in a Quest device build, the cause is that Quality levels are separate per platform. Editor Play over Air Link uses the Standalone settings, while a device build uses the Android ones.

  • The VR template’s default URP asset Mobile_RPAsset has Render Scale 0.8. Opening the asset the Android side references in Project Settings > Quality and setting it to 1.0 improves this
  • Raising the panel’s World Pixel Density rasterizes the font at a higher resolution at the same physical size (at the cost of font atlas memory)

Both are settings of the consuming project, and cannot be changed from the SDK.

A debug HUD that feeds connection state and event history into two UI Texts.

  • Status — connection state / streaming flag
  • Log — OnConnected / OnDisconnected / OnPong / OnError and stream transitions, one line each. maxLogLines sets the limit

It is meant for verification, not for inclusion in a production build.

Maps a single key press to a UnityEvent in the Inspector. Intended for situations not worth wiring up PlayerInput / InputAction (samples, prototypes, debugging).

Combined with HapbeatUnityEventTrigger or HapbeatActionHelper, it lets you wire key → haptic firing without writing a script.

A wrapper that exposes the singleton-only methods of HapbeatManager (Stop / StopAll / StopStream / Ping) as instance methods.

That makes them directly assignable as targets from UnityEvents on UI Buttons, the Key Dispatcher, Animation Events and so on, so you no longer need to write a MonoBehaviour just for this purpose.

A diagnostic component that prints one line with a tag and a timestamp to the Console every time it is called through a UnityEvent.

Attach it to an XRI Interactable and wire up all of hoverEntered / selectEntered and so on to observe which events fire in which order. Use it while deciding where to wire things, and remove it afterwards since it is otherwise just noise.

The wiring can be automated with Hapbeat > Attach Event Logger to Selected (→ Editor Menu Reference).