RealDocs

AAIController::ReceiveMoveCompleted

property AIModule Blueprint Since 4.7
#include "AIController.h"
Access: public Specifiers: UPROPERTYBlueprintAssignable

Description

Multicast delegate fired when the current movement request finishes. Broadcasts the completed request ID and the result code (Success, Blocked, Invalid, etc.).

Caveats & Gotchas

  • In C++, prefer overriding OnMoveCompleted() for cleaner integration. ReceiveMoveCompleted is primarily designed for Blueprint; if you bind it in C++, use AddDynamic.
  • The delegate fires for every completion reason, including aborts triggered by StopMovement or a new MoveToActor call. Always check the Result parameter to distinguish success from failure.

Signature

UPROPERTY(BlueprintAssignable, meta = (DisplayName = "MoveCompleted"))
FAIMoveCompletedSignature ReceiveMoveCompleted;

Examples

Bind a custom event to ReceiveMoveCompleted on BeginPlay Blueprint
Event BeginPlay Cast To AAIController Object Cast Failed As AI Controller As AI Controller Bind Event to ReceiveMoveCompleted Target is AI Controller Target Event Get Controller Target is Pawn Return Value Return Value On Move Completed Result
Edit Blueprint graph Bind a custom event to ReceiveMoveCompleted on BeginPlay
Drag node headers to move · Drag from an output pin to an input pin to connect · Scroll to zoom · Right-click for actions
Bind in C++ to react to move completion C++
void AMyAIController::BeginPlay()
{
	Super::BeginPlay();
	ReceiveMoveCompleted.AddDynamic(this, &AMyAIController::OnMoveFinished);
}

void AMyAIController::OnMoveFinished(FAIRequestID RequestID, EPathFollowingResult::Type Result)
{
	if (Result == EPathFollowingResult::Success)
	{
		// Reached destination
	}
}

Version History

Introduced in: 4.7

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.