I’ve been following tutorials and videos on putting together C++ and the Enhanced Input Plugin for 5.5. I’m trying to understand “Flying” or really just pressing a button to move the character along the Z Axis. Using some of the similar logic from the other functions I came up with this. I made it on the condition of IsFlying.
void APlayerCharacter::Fly(const FInputActionValue& Value)
{
FVector InputVector = Value.Get<FVector>();
FVector UpDirection = FVector::UpVector;
isPlayerFlying = GetCharacterMovement()->IsFlying();
if (IsValid(Controller))
{
if (isPlayerFlying)
{
AddMovementInput(UpDirection, InputVector.Z);
UE_LOG(LogTemp, Warning, TEXT("InputVector: %s"), *InputVector.ToString());
UE_LOG(LogTemp, Warning, TEXT("UpDirection: %s"), *UpDirection.ToString());
}
}
}
Information from ShowDebug EnhancedInput, and the logs. The Input vector reads as X Changing, but when I changed the InputVector to InputVector.X, the behavior is the same.

Not sure where or what I’m missing.