Event Maps and playback
An Event Map is a Data Asset that centralizes the parameters of a haptic stimulus: Clip, Gain, Target, and Loop. Game code only decides when to play which entry; the Event Map adjusts the haptic type, intensity, destination, and duration.
Create an Event Map
Section titled “Create an Event Map”- In the Content Browser, select Add → Hapbeat → Hapbeat Event Map.
- Open the asset and add an entry.
- Set its
Display Nameand playback method.Stream Clipuses a Clip asset;Commanduses theCategoryandEvent Nameof a deployed Kit. AdjustGain,Pan,Target, andLoopas needed.
Each entry has the following values:
Id: an automatically assigned GUID. It keeps references stable when entries are reordered; do not enter it manually.Clip: the haptic clip to play, or an event already deployed to the device.Gain: base intensity.Pan: left/right placement.Target: logical address of the Hapbeat that receives the event.Loop: whether to continuously play a Stream Clip. Repeating a Command depends on the Kit definition.
When Target is empty, every connected Hapbeat is eligible. See Targeting to separate destinations for multiple HMDs using player / group.
Play from Blueprint
Section titled “Play from Blueprint”Add Play Event (Hapbeat) to the Event Graph and specify its Map and Entry.
Game event → Play Event (Hapbeat) Map: DA_HapbeatEventMap Entry: pickupGain Multiplier, Pan, and Delay Seconds are advanced pins. They adjust this call only, without changing the entry. A Stream Clip entry returns a Hapbeat Stream Playback, which can adjust Gain / Pan or Stop at runtime.
For node inputs and return values, see Blueprint nodes.
Play from C++
Section titled “Play from C++”UHapbeatBlueprintLibrary exposes the same Event Map path as the Blueprint nodes to C++.
#include "HapbeatBlueprintLibrary.h"
UHapbeatBlueprintLibrary::PlayHapbeatEvent( this, EventMap, Entry, /* GainMultiplier */ 1.0f, /* Pan */ 0.0f, /* DelaySeconds */ 0.0f);UHapbeatSubsystem::Play(EventId, Gain, Target, Pan) sends directly without an Event Map. Use it only when the event ID must be assembled at runtime or cannot be managed by a Data Asset.
See C++ API for the API reference and guidance on direct delivery.
Choose a playback method
Section titled “Choose a playback method”| Goal | Use |
|---|---|
| Play one entry from a button, UI, or custom game event | Play Event (Hapbeat) |
| Watch Hit / Overlap and play an entry | Hapbeat Collision Trigger component |
| Combine start, held loop, and end | Hapbeat Sequence component |
| Continuously change a Stream Clip’s Gain / Pan from a value | Hapbeat Parameter Binding component |
| Play a one-shot at each step of a knob or slider | Hapbeat Tick Emitter component |