RemoteViewPitch is always zero

We’re designing a first-person multiplayer game, and we want our pawns to look with their heads into the direction they are actually looking. For this, we looked into the ShooterGame example, and noticed that they make use of the replicated property:


The problem we have, is that no matter what we do, this value is always zero on all clients.
When a player looks up with the mouse, we call:

APlayerController::AddControllerPitchInput(float Val);

Which updates the rotation of the controller, located at


This property is not replicated. However, we expect the controller to set the RemoteViewPitch for us.
Now inside APawn, we spotted this:

void APawn::Tick( float DeltaSeconds )

    if (Role == ROLE_Authority && GetController())

Apparantly the server updates the replicated pitch value. However, for that it uses a struct that is not replicated! And now the weird part is, this pitch apparantly does get updated in ShooterGame. We’ve compared our code with the ShooterGame’s code, and we cannot figure out why it isn’t working for us. We can’t find any hidden booleans we have to toggle on, or any other properties related to this.

One thing to add: The server it self does seem to receive the correct value, not so any client though.

Also related: AimOffset Pitch in multiplayer - Blueprint - Unreal Engine Forums

Problem solved. We overrode the APawn::Tick function and didn’t call the super function which would set RemotePitchView.