Guides

Adaptive triggers

The 12 adaptive trigger effects, their parameters and how they feel, plus raw bytes for anything else.

Each trigger (L2 and R2) can run one effect at a time. You build the effect with a DS Make Trigger ... node, apply it with DS Set Trigger Effect and send it with DS Update Output.

DS Set Trigger Effect takes a Hand: Left Trigger, Right Trigger or Both Triggers. DS Stop Trigger removes the effect.

Units

All effects share the same units, so you can reason about them without knowing the HID format:

UnitRangeMeaning
Zone (position)0–9The trigger travel split into 10 zones. 0 is released, 9 is fully pressed.
Strength1–8Resistance force. 1 is barely there, 8 is the strongest the motor can push.
Amplitude1–8Vibration intensity.
Frequency1–255Vibration frequency in Hz.

You can't send an invalid effect:

  • Values out of range are clamped.
  • If an End zone is not after its Start, End becomes Start + 1.
  • A strength or amplitude of 0 turns the effect off.
The demo has a pad for every effect below. Stand on it and squeeze R2 to feel the defaults before you tune your own.

Effects

Feedback

Constant resistance from a zone to the end of the travel. The simplest "heavy trigger".

ParameterRangeDefault
Position0–93
Strength1–85

Feels like: a stiff spring that starts at Position. Use it for: a heavy lever, a brake pedal, a tense bowstring that never releases.

Weapon

Resistance between two zones that gives way with a click, like a real gun trigger.

ParameterRangeDefault
Start2–74
End3–87
Strength1–88

Feels like: a wall between Start and End, then a snap. Use it for: single-shot weapons, a camera shutter. Fire the shot when the trigger axis passes the End zone, so it lands on the click.

Vibration

The trigger vibrates from a zone to the end of the travel.

ParameterRangeDefault
Position0–90
Amplitude1–85
Frequency (Hz)1–25530

Feels like: a buzz in the finger once you pass Position. Use it for: automatic weapons, a chainsaw, an engine at idle.

Slope Feedback

Resistance that ramps linearly from one strength to another between two zones, then stays at the end strength.

ParameterRangeDefault
Start0–80
End1–99
Start Strength1–81
End Strength1–88

Feels like: a trigger that gets harder the further you press (or softer, with Start Strength above End Strength). Use it for: a car brake, drawing a slingshot, pressure that builds.

Multiple Position Feedback

A separate resistance for each of the 10 zones.

ParameterRange
Zone Strengths10 values, 0–8 each (0 = no resistance in that zone)

Feels like: steps or bumps along the travel. Use it for: gear notches, a ratchet, a multi-stage switch. Pass 10 values: missing ones count as 0 and extra ones are ignored.

Multiple Position Vibration

A separate vibration amplitude for each of the 10 zones, at one frequency.

ParameterRange
Frequency (Hz)1–255
Zone Amplitudes10 values, 0–8 each (0 = no vibration in that zone)

Feels like: a vibration that grows or changes as you press. Use it for: an engine revving with the throttle, a weapon that spins up.

Bow

Tension between two zones that snaps back when you let go, like a bow string.

ParameterRangeDefault
Start0–71
End1–86
Strength1–86
Snap Force1–88

Feels like: pulling a string, then a kick back towards you on release. Use it for: bows, slingshots, a spring-loaded lever. Fire on release.

Galloping

A two-beat pulse between two zones, like hooves or a heartbeat.

ParameterRangeDefault
Start0–80
End1–99
First Foot0–62
Second Foot1–75
Frequency (Hz)1–2553

First Foot and Second Foot place the two beats inside each cycle (the second after the first); Frequency is how many cycles per second.

Feels like: a "da-dum, da-dum" in the trigger. Use it for: riding, a heartbeat when low on health.

Machine

Vibration alternating between two amplitudes between two zones.

ParameterRangeDefault
Start0–80
End1–99
Amplitude A0–73
Amplitude B0–77
Frequency (Hz)1–25530
Period0–255 (tenths of a second)5

Feels like: a motor that surges every Period. Use it for: heavy machinery, a jackhammer, a minigun.

Off

No effect: the trigger moves freely. DS Stop Trigger does the same as setting an Off effect.

Legacy effects

These exist so that v1 projects can keep their tuning. Their parameters use the raw 0–255 scale of v1.

NodeParametersNotes
DS Make Trigger Continuous Resistance (Legacy)Start, Force (0–255)Same bytes as v1 Make Continuous Resistance. Prefer Feedback.
DS Make Trigger Section Resistance (Legacy)Start, End, Force (0–255)v1 never applied the force here; v2 does, so it feels stronger. Prefer Weapon or Slope Feedback.
Effect Ex (Effect Type = Effect Ex (Legacy, Deprecated) on the struct)Start, Keep Effect, Begin/Middle/End Force, FrequencyDeprecated. Use Vibration or Machine.

Raw bytes

DS Make Trigger Raw sends a trigger block as you write it: a mode byte followed by up to 10 parameter bytes. Use it for modes the plugin does not wrap, or to reproduce bytes from another tool.

Weapon, start 4, end 7, strength 8:   25 90 00 07

The bytes are not validated. The format is the one documented by the community reverse engineering of the DualSense (Nielk1's TriggerEffectGenerator, MIT).

Building the struct directly

FDS5TriggerEffect is a normal Blueprint struct. Make FDS5TriggerEffect shows only the fields used by the selected Effect Type, which is handy when the effect comes from a data table or a variable. In C++ use the factories:

const FDS5TriggerEffect Weapon = FDS5TriggerEffect::MakeWeapon(4, 7, 8);
const FDS5TriggerEffect Engine = FDS5TriggerEffect::MakeMachine(0, 9, 3, 7, 30, 5);

Tips

  • Change effects on events, not every frame. The plugin skips writes that change nothing, but there is no reason to rebuild the effect on Tick.
  • Match the effect to the action. Put a Weapon effect on R2 only while a gun is equipped, and stop it in menus and cutscenes.
  • Feel it on the hardware. Effects that look similar on paper feel very different. Tune them with a controller in hand, in the demo or in PIE.
  • Force Feedback Effect assets can also drive trigger resistance on a timeline. See Force Feedback Effects.

© 2026 Developed by Altercode. Blueprint graphs rendered with ueblueprint (MIT).

Unofficial plugin, not affiliated with, endorsed by or sponsored by Sony Interactive Entertainment Inc. "DualSense", "DualSense Edge" and "PlayStation" are registered trademarks or trademarks of Sony Interactive Entertainment Inc. "Unreal" and "Unreal Engine" are trademarks or registered trademarks of Epic Games, Inc.