Haptics for Touch Controllers

This guide describes how to use Unreal Blueprints to control haptic effects on Touch controllers.

Unreal Simple Haptics

Use the Set Haptics by Value blueprint start and stop haptics for a controller.

To start, update, or end vibration call Set Haptics by Value in the frame you want to make the change and define the frequency and amplitude of the haptic response.

Expected values for amplitude and frequency are any value between 0-1, inclusive. The greater the value, the stronger or more frequent the vibration in the controller. To end the vibration, set both amplitude and frequency to 0. Controller vibration automatically end 2 seconds after the last input.

Buffered Haptics in Unreal Engine


The OVRHaptics API is deprecated and only included for legacy support purposes. The API was only supported on the original configuration Rift with external tracking sensors.

You may use the standard Play Haptic Effect Blueprint to send a specified haptic curve to the Oculus Touch or Xbox controller. For more information, see Unreal’s Play Haptic Effect guide.

Play Haptic Effects may be configured to play haptic waves based on three types of input. Right-click Content Browser to bring up the context menu, then select Miscellaneous. and select one of the following three options:

  • Haptic Feedback Buffer: Plays a buffer of bytes 0-255,
  • Haptic Feedback Curve: Draw the haptic linear curve you wish to play using the Haptic Curve Editor, or
  • Haptic Feedback Soundwave: Select a mono audio file to be converted into a haptic effect of corresponding amplitude.

The following Blueprint illustrates a simple haptics sequence on the Oculus Touch controller using Play Haptic Effect. This example sends vibrations using Play Haptic Effect when the left controller grip button is pressed. When the button is released, Stop Haptic Effect sends a stop command to the Touch controller.

When the left controller X button is pressed, a constant vibration is sent by Set Haptics by Value until the button is released. Note that Set Haptics by Value calls are limited to 30 Hz; additional calls will be disregarded.

For a sample that shows how to use Play Haptic Effects blueprint, see the Input sample in the Unreal Samples.