Why my MoveToLocation don`t work in cpp

I just want my AI move to random location.
So i tried MoveToLocation() in TaskNode (every tick), but it always return failed. why???

(I already has NavMeshBoundsVolume in my level)

	auto AIController = Cast<AMyAIController>(OwnerComp.GetAIOwner());
.
.
.
		EPathFollowingRequestResult::Type FollowResult = AIController->MoveToLocation(FinalLoc, -1, false, true);
		FString DebugText = UEnum::GetValueAsString(FollowResult);
		UE_LOG(LogTemp, Warning, TEXT("%s"), *DebugText);


type or paste code here

Call it when you want tos tart the move, not every tick.

I tried as you advised(change code to ExecuteTask), but still MoveToLocation() return failed.
this thing realy makes me crazy

Do you have Navigation Mesh in the level? Is the location that you’re moving to on the navigation mesh? Does the AI controller you’re trying to use have a character with a movement component?

yes. I have nav mesh in my level, location is in navigation mesh too.
And my AI controller has character movement component.
Is there anything problem?