v1.3 (legacy)
API reference
The DualSenseControllerManager component and the types of v1.
v1 only. In v2 this component is replaced by the
DS node library. See the migration guide.DualSenseControllerManager
UDualSenseControllerManager, an UActorComponent in the Altercode component group. Add it to an actor, then call its functions on that component.
| Node | Returns | Notes |
|---|---|---|
| Initialize Dual Sense Controller | bool | Opens the first DualSense found. false if none is connected. |
Update Dual Sense Controller (Output State) | bool | Sends the whole FDS5OutputState. Every field is written, so fill in all of them. |
| Free Dual Sense Controller | bool | Closes the controller. |
Update Lightbar Color (New Color) | bool | Sets the lightbar. Resets the rest of the output state. |
Trigger effect builders
Pure, static nodes that return an FTriggerEffect. Positions and forces are on a 0–255 scale; decimals are dropped.
| Node | Inputs |
|---|---|
| Make Continuous Resistance | Start Position, Force |
| Make Section Resistance | Start Position, End Position, Force |
| Make Effect Ex | Start Position, Keep Effect, Begin Force, Middle Force, End Force, Frequency |
Types
FDS5OutputState
| Field | Type | Notes |
|---|---|---|
leftRumble, rightRumble | float | 0–10 |
microphoneLed | EMicLed | OFF, ON, PULSE |
disableLeds | bool | |
playerLeds | FPlayerLeds | bitmask (EPlayerLed), playerLedFade, brightness (ELedBrightness: LOW, MEDIUM, HIGH) |
lightbar | FLinearColor | |
leftTriggerEffect, rightTriggerEffect | FTriggerEffect |
FTriggerEffect
| Field | Type |
|---|---|
effectType | ETriggerEffectType: NoResitance, ContinuousResitance, SectionResitance, EffectEx, Calibrate |
startPosition, endPosition, force | float |
keepEffect | bool |
beginForce, middleForce, endForce, frequency | float |
EPlayerLed (bit flags)
OFF, LEFT, MIDDLE_LEFT, MIDDLE, MIDDLE_RIGHT, RIGHT.
Known limitations of v1
These are fixed in v2:
- Only one controller, always the first one found.
Update Lightbar Colorresets triggers, rumble and LEDs.- Rumble values are written straight into the motor byte, so the 0–10 range only reaches about 4% of the motor.
- Make Section Resistance never sends its force.
Calibratedoes nothing.