How do I use MoveToLocation?

I’m using behaviour tree and I have wrote task class and it is triggered in behaviour tree. But my character is not moving to location the task is giving. So what might be wrong and what would be a simplest way to use MoveToLocation with bot.

BTTask_MyMove.cpp

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.

#include "Nex.h"
#include "BTTask_MyMove.h"


UBTTask_MyMove::UBTTask_MyMove(const class FPostConstructInitializeProperties& PCIP)
	: Super(PCIP)
{

}

EBTNodeResult::Type UBTTask_MyMove::ExecuteTask(UBehaviorTreeComponent* OwnerComp, uint8* NodeMemory) const
{
	UBehaviorTreeComponent* MyComp = OwnerComp;
	ANexAIController* MyController = MyComp ? Cast<ANexAIController>(MyComp->GetOwner()) : NULL;
	if (MyController == NULL)
	{
		return EBTNodeResult::Failed;
	}
	else
	{

		FVector Destination = MyComp->GetBlackboardComponent()->GetValueAsVector(BlackboardKey.SelectedKeyID);

		// Make a move
		MyController->MoveToLocation(Destination, 60.0f);
		return EBTNodeResult::Succeeded;

	}

	return EBTNodeResult::Failed;
}

NexAIController.cpp

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.

#include "Nex.h"
#include "NexAIController.h"


ANexAIController::ANexAIController(const class FPostConstructInitializeProperties& PCIP)
	: Super(PCIP)
{
	BlackboardComp = PCIP.CreateDefaultSubobject<UBlackboardComponent>(this, TEXT("BlackBoardComp"));

	BehaviorComp = PCIP.CreateDefaultSubobject<UBehaviorTreeComponent>(this, TEXT("BehaviorComp"));

	bWantsPlayerState = true;
}

void ANexAIController::Possess(APawn* InPawn)
{
	Super::Possess(InPawn);

	ANexBot* Bot = Cast<ANexBot>(InPawn);

	// start behavior
	if (Bot && Bot->BotBehavior)
	{
		BlackboardComp->InitializeBlackboard(Bot->BotBehavior->BlackboardAsset);

		EnemyKeyID = BlackboardComp->GetKeyID("Enemy");
		NeedAmmoKeyID = BlackboardComp->GetKeyID("NeedAmmo");
		DestinationID = BlackboardComp->GetKeyID("Destination");

		BehaviorComp->StartTree(Bot->BotBehavior);
	}
}

void ANexAIController::BeginInactiveState()
{
	Super::BeginInactiveState();

	AGameState* GameState = GetWorld()->GameState;

	const float MinRespawnDelay = (GameState && GameState->GameModeClass) ? GetDefault<AGameMode>(GameState->GameModeClass)->MinRespawnDelay : 1.0f;

	GetWorldTimerManager().SetTimer(this, &ANexAIController::Respawn, MinRespawnDelay);
}

void ANexAIController::Respawn()
{
	GetWorld()->GetAuthGameMode()->RestartPlayer(this);
}

void ANexAIController::FindClosestEnemy()
{
	APawn* MyBot = GetPawn();
	if (MyBot == NULL)
	{
		return;
	}

	const FVector MyLoc = MyBot->GetActorLocation();
	float BestDistSq = MAX_FLT;
	ANexCharacter* BestPawn = NULL;

	for (FConstPawnIterator It = GetWorld()->GetPawnIterator(); It; ++It)
	{
		ANexCharacter* TestPawn = Cast<ANexCharacter>(*It);
		if (TestPawn && TestPawn->IsEnemyFor(this))
		{
			const float DistSq = (TestPawn->GetActorLocation() - MyLoc).SizeSquared();

			//Might not be wise to do this here?
			BlackboardComp->SetValueAsVector(DestinationID, TestPawn->GetActorLocation());

			if (DistSq < BestDistSq)
			{
				BestDistSq = DistSq;
				BestPawn = TestPawn;
			}
		}
	}

	if (BestPawn)
	{
		SetEnemy(BestPawn);	
	}
}

void ANexAIController::SetEnemy(class APawn* InPawn)
{
	if (BlackboardComp)
	{
		BlackboardComp->SetValueAsObject(EnemyKeyID, InPawn);
		SetFocus(InPawn);
	}
}

class ANexCharacter* ANexAIController::GetEnemy() const
{
	if (BlackboardComp)
	{
		return Cast<ANexCharacter>(BlackboardComp->GetValueAsObject(EnemyKeyID));
	}

	return NULL;
}

void ANexAIController::UpdateControlRotation(float DeltaTime, bool bUpdatePawn)
{
	// Look toward focus
	FVector FocalPoint = GetFocalPoint();
	if (!FocalPoint.IsZero() && GetPawn())
	{
		FVector Direction = FocalPoint - GetPawn()->GetActorLocation();
		FRotator NewControlRotation = Direction.Rotation();

		NewControlRotation.Yaw = FRotator::ClampAxis(NewControlRotation.Yaw);

		SetControlRotation(NewControlRotation);
		AAIController::MoveToLocation(BlackboardComp->GetValueAsVector(DestinationID), 60.0f);
		APawn* const P = GetPawn();
		if (P && bUpdatePawn)
		{
			P->FaceRotation(NewControlRotation, DeltaTime);			
		}
	
	}
}

void ANexAIController::OnMoveCompleted(uint32 RequestID, EPathFollowingResult::Type Result)
{
	if (Result != EPathFollowingResult::Skipped)
	{
		//OnMoveCompletedDelegate.ExecuteIfBound();
	}
}

Added Nav Mesh Bounds Volume to level! Worked!