UE4.24.2 C++ FPS tutorial has errors in code

Well, I solved the problem #3 too now!

I found this info on a forum :

*The reason you move slowest when you
are not looking straight ahead is
because those vectors are wasting some
of their length going upward/downwards
which results in less length to go
forward, hence slower speeds. You need
to zero your Z axis on your direction
vector:

Code:*

voidAFPSController::MoveForward(float
AxisValue) {
     //Get the forward vector
    FVector direction = FRotationMatrix(GetControlRotation()).GetScaledAxis(EAxis::X);
 
    // We get the flattened forward look direction and normalize it
    direction = FVector(direction.X, direction.Y, 0.f).GetSafeNormal();    
    AddMovementInput(direction, AxisValue);
}

This gives the direction
your player is looking on a lateral
plane.

So now my correct FPSCharacter.ccp file for UE 4.24.2 contains :

void AFPSCharacter::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);
	//FVector Direction = FRotationMatrix(GetControlRotation()).GetScaledAxis(EAxis::X);	//This one works too
	Direction = FVector(Direction.X, Direction.Y, 0.f).GetSafeNormal();
	AddMovementInput(Direction, Value);

	//debug vitesse :
	FString vitesse = AFPSCharacter::GetVelocity().ToString();
	GEngine->AddOnScreenDebugMessage(1, 0.0f, FColor::Purple, "Velocity =" + vitesse);
}