Develop

Haptics Blueprints

Updated: Apr 15, 2026
The Meta XR Plugin supports three haptics blueprints under the Game Feedback category:
  • Set Haptics by Value
  • Stop Haptic Effect
  • Play Haptic Effect
The plugin also provides eight additional blueprints under Oculus Library > Controller that extend these with Meta Quest-specific features, including targeted haptic locations on Meta Quest Touch Pro controllers.

Set Haptics by Value blueprint

This blueprint uses Unreal Simple Haptics. The haptic location defaults to hand. Use the Set Haptics by Value blueprint to start and stop haptics for a controller.
To start, update, or end vibration, call Set Haptics by Value in the frame where you want to make the change and define the frequency and amplitude of the haptic response.
Blueprint for set haptics by value

Arguments

  • Hand: The controller to apply haptics to (Left or Right).
  • Frequency: A float value between 0 and 1 that sets the vibration frequency. Higher values produce more frequent vibrations.
  • Amplitude: A float value between 0 and 1 that sets the vibration intensity. Higher values produce stronger vibrations.

Behavior

This Blueprint has no return value. The haptic effect is applied directly to the specified controller. To end the vibration, set both Amplitude and Frequency to 0. Controller vibration automatically ends 2 seconds after the last input. For more information, see Set Haptics by Value in the Unreal documentation.

Stop Haptic Effect blueprint

This blueprint uses Unreal Simple Haptics. Haptic location defaults to hand. Use this blueprint to issue a stop command that ends haptics for a controller. Alternatively, you can achieve the same result by calling Set Haptics by Value with both Amplitude and Frequency set to 0. For more information, see Stop Haptic Effect in the Unreal documentation.

Play Haptic Effect blueprint

Use this blueprint to send a specified haptic feedback pattern to the controller. For more information, see Play Haptic Effect in the Unreal documentation.
This blueprint can be configured to play haptic waves based on input. For input options, right-click the content browser to bring up the context menu, select Miscellaneous, and then select one of the following three options:
  • Haptic Feedback Buffer: Plays a buffer of bytes 0-255. In this case, Play Haptic Effect uses Unreal Simple Haptics. Haptic location defaults to hand. Haptic feedback is triggered in each frame with the corresponding amplitude whose time is closest to the frame time.
  • Haptic Feedback Curve: Draw the haptic linear curve you want to play using the Haptic Curve Editor. In this case, Play Haptic Effect uses Unreal Simple Haptics. Haptic location defaults to hand. Haptic feedback is triggered in each frame with the corresponding amplitude sampled with time.
  • Haptic Feedback Soundwave: Select a mono audio file to be converted into a haptic effect of corresponding amplitude. In this case, Play Haptic Effect uses PCM Haptics. Append defaults to False.

Example

The following blueprint illustrates a simple haptics sequence on the Meta Quest Touch controller using Play Haptic Effect. This example sends vibrations using Play Haptic Effect when the left controller grab is pressed. When the button is released, Stop Haptic Effect sends a stop command to the Touch controller.
When the left controller trigger is pressed, a constant vibration is sent by Set Haptics by Value until the button is released.
Unreal haptics Blueprint example

Oculus Library > Controller blueprints

The Meta XR Plugin provides eight additional blueprints under Oculus Library > Controller. These blueprints extend the standard Game Feedback blueprints with Meta Quest-specific features, including support for targeted haptic locations on Meta Quest Touch Pro controllers.
These blueprints accept the same base parameters as their Game Feedback counterparts. Only differences are noted below.

Haptic location

Blueprints that accept a Location parameter support the following EOculusXRHandHapticsLocation values:
  • Hand (default): Applies haptic feedback to the entire controller. Supported on all Meta Quest Touch controllers.
  • Thumb: Applies haptic feedback to the thumb area of the controller. Requires Meta Quest Touch Pro.
  • Index: Applies haptic feedback to the index finger area of the controller. Requires Meta Quest Touch Pro.

Set Haptics by Value

This blueprint uses Unreal Simple Haptics. It extends the Game Feedback version by accepting a Location parameter for targeted haptics in addition to the standard Frequency, Amplitude, and Hand parameters.

Stop Haptic Effect

This blueprint uses Unreal Simple Haptics. It extends the Game Feedback version by accepting a Location parameter for targeted haptics in addition to the standard Hand parameter.

Play Buffer Haptic Effect

This blueprint uses Unreal Simple Haptics. It accepts only a Haptic Feedback Buffer as the Haptic Effect input and supports the Location parameter for targeted haptics. Haptic feedback is triggered in each frame with the corresponding amplitude whose time is closest to the frame time.

Play Amplitude Envelope Haptic Effect

This blueprint uses Amplitude Envelope Haptics. It accepts only a Haptic Feedback Buffer as the Haptic Effect input. All amplitude data is sent to the controller in a single call. This blueprint does not accept a Location parameter and applies haptic feedback to the hand only.

Play Curve Haptic Effect

This blueprint uses Unreal Simple Haptics. It accepts only a Haptic Feedback Curve as the Haptic Effect input and supports the Location parameter for targeted haptics. Haptic feedback is triggered in each frame with the corresponding amplitude sampled with time.

Play Sound Wave Haptic Effect

This blueprint uses PCM Haptics. It accepts only a Haptic Feedback Sound Wave as the Haptic Effect input and includes an Append parameter. This blueprint does not accept a Location parameter and applies haptic feedback to the hand only.

Get Max Haptic Duration

This blueprint returns the maximum duration (in seconds) of sample data that can be sent to the controller. Data exceeding this duration is discarded, and Unreal Engine logs an error message.

Get Controller Sample Rate Hz

This blueprint returns the controller’s current haptic sample rate in Hz.