I just wanted to bring up what people prefer to do with their input and where to implement the pawn/character movement.
Currently the PlayerController receives input first and can decide to take care of control and then consume the input so that the pawn wont receive the event. Since this is where the ‘will’ of the player (ie me and you), belongs, I think it would be easy (in the case of if we are switching the possession of pawns) to keep control logic here and call ‘addMovementInput’ from inside the PlayerController.
However, the player has the ControlRotation variable which we can add to using the pawn’s AddControllerYawInput and related functions and use this along with the bUseControllerRotationYaw option so that it will always use the ControlRotation of the playerController.
Why do we have the PlayerController have the controlRotation but not controlLocation?
It gets even more confusing when we have the characterMovementComponent that has the orientToMovement option that ignores the controlRotation of the PlayerController and just does what says and makes the character orient to it’s velocity direction. (in the youtube third person videos, they do this but then have the camera spring arm use the PlayerController rotation).
So I’m still unsure about the way the game framework is intended to be used as most content examples implement controls directly in the Pawn/Character but use the PlayerControllers controlRotation in some fashion. If I’m honest, I don’t like the separation between Location and Rotation between the PlayerController and the Pawn it possess. Add on top the Physics RootComponent the pawn/Character will have and then the movement component which sits in the middle of it all.
The Documentation isn’t completely clear on the way things are meant to be set up. A clear write up on the relationship between PlayerController, Pawn, MovementComponent and Physics component would be greatly appreciated. I’m picking apart the sourcecode myself to get an understanding. If someone from epic or anyone else could clear this up then I’d be very grateful.