I tried to put all my First-Person controller inputs on the PlayerController blueprint, while this works for the movement, the rotation broke.
I searched the source code and found that custom actor Tick(DeltaSeconds) at line 5563 is called after PlayerTick(DeltaSeconds) on line 5526 (which calls UpdateRotation). Right after the Tick, the RotationInput is cleared. This means that any calls to AddYawInput, or AddControllerYawInput inside PlayerController tick are going to be erased.
I wonder if this is by design. Is the PlayerController not meant to get rotation input and pass it to the Pawn? In a multi-character scenario, are we supposed to add rotation input code ourselves to the pawn?
The solution would be to call Tick() before PlayerTick().
