Hey everybody! I haven’t seen a thread on this yet so I thought that I would make one. This is a quick overview on how to setup twin stick shooter movement controls for a gamepad.
All of the movement and rotation controls have been setup inside the Controller Blueprint.
For the character movement, use the Gamepad Left X and Gamepad Left Y inputs and connect them to Add Movement Input. Using the axis values, create a Make Rot node and get the corresponding direction vector for each one. The right vector controls the left and right movement according to the scale value which ranges from -1 to 1. The forward vector controls the forwards and backwards or up and down movement. Since this is created inside the controller blueprint, you need to get the controlled pawn to connect to the target of the movement inputs.
For the character rotation, take the axis values and create a new vector. That vector will be added to the character’s location to set the target look at rotation. I had to break apart the rotation and add 90 degrees to the yaw to get the correct angle. Right now there’s not much of a dead zone, but you can add a branch to see whether the vector is greater than 0.
I might add-on to this setup later down the road, but for now this setup works great for me!