Rumble and haptics
The DualSense has two rumble motors: a heavy one on the left (low frequency, strong) and a soft one on the right (high frequency, light). You can drive them in three ways, and use all three in the same game.
1. Direct rumble
DS Set Rumble sets both motors from 0 to 1. It stays on until you change it, so pair it with DS Stop Rumble (or a second DS Set Rumble with zeros).
Like the other DS Set ... nodes, the change is sent by DS Update Output.
2. Unreal Force Feedback
The plugin implements Unreal's force feedback interface, so the engine's own nodes work with the DualSense:
- Client Play Force Feedback on the Player Controller, with a Force Feedback Effect asset (curves for the large and small channels, looping, tags...).
- Play Dynamic Force Feedback for values driven from gameplay.
- Force Feedback Component for positional rumble that fades with distance.
The channels map like on an Xbox controller: large (left and right) drives the heavy motor, small drives the soft one.
These are sent to the controller by the engine every frame. You do not need DS Update Output for them.
3. Haptic feedback
Play Haptic Effect and Set Haptics by Value also work. The amplitude of the left hand drives the heavy motor, the right hand the soft motor.
When they overlap
Each motor gets the strongest of the three sources: max(DS Set Rumble, Force Feedback, Haptics). A looping Force Feedback effect does not cancel your direct rumble and vice versa; stop each one through its own API.
Trigger resistance from Force Feedback assets
Force Feedback Effect assets can also change the adaptive triggers and the lightbar through Device Properties. That has its own page: Force Feedback Effects.