First person character moves slower when looking down

For some reason when i look down with my camera in first person the character moves slower forward and backwards (normal speed when strafing). If i look fully down the player won’t even move forward. Another question thread is based on this but it’s dead with no solution.

From set player input component

//Set up "look" bindings.
	PlayerInputComponent->BindAxis("Turn", this, &APlayerCharacterFPS::AddControllerYawInput);
	PlayerInputComponent->BindAxis("LookUp", this, &APlayerCharacterFPS::AddControllerPitchInput);

...
Move forward method

void APlayerCharacterFPS::MoveForward(float value)
{
	//Find out which way is "forward" and record that the player wants to move that way.
	FVector Direction = FRotationMatrix(Controller->GetControlRotation()).GetScaledAxis(EAxis::X);
	AddMovementInput(Direction, value);
}

Because when you’re looking down the control rotation is X=0.0, Y=0.0, Z=-1.0. You should get the forward vector of the actor.

1 Like

Thank you so my code now looks like this and works!

FVector Direction = GetActorForwardVector();

Thank you so much