Hello,
I had MoveToActor() call RequestDirectMove() which was overridden to get the out parameter MoveVelocity in 4.16.3 working well. But not anymore in 4.17.1. This is called from the AIController like so:
void ATankAIController::BeginPlay()
{
Super::BeginPlay();
PrimaryActorTick.bCanEverTick = true;
auto ControlledTank = GetControlledPawn();
auto PlayerTank = GetWorld()->GetFirstPlayerController()->GetPawn();
UE_LOG(LogTemp, Warning, TEXT("AIController possessing: %s"), *ControlledTank->GetName());
UE_LOG(LogTemp, Warning, TEXT("Player Controller possessing: %s"), *PlayerTank->GetName() );
MoveToActor(PlayerTank);
//MoveToLocation(PlayerTank->GetActorLocation());
}
And then in the AI controlled pawn’s movement component (derived from UNavMovementComponent) I have the RequestDirectMove like so:
void UTankMovementComponent::RequestDirectMove(const FVector& MoveVelocity, bool bForceMaxSpeed)
{
UE_LOG(LogTemp, Warning, TEXT("Move velocity: %s"), *MoveVelocity.GetSafeNormal().ToString());
}
It was spitting out the MoveVelocity vector values before the 4.17 upgrade. I am still new to the engine and can’t figure it out. Any help would be much appreciated!