UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AITask_MoveTo.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
7#include "AITypes.h"
9#include "Tasks/AITask.h"
10#include "AITask_MoveTo.generated.h"
11
12class AAIController;
13
16
17UCLASS(MinimalAPI)
19{
21
22public:
24
26 AIMODULE_API void ConditionalPerformMove();
27
30
31 EPathFollowingResult::Type GetMoveResult() const { return MoveResult; }
32 bool WasMoveSuccessful() const { return MoveResult == EPathFollowingResult::Success; }
33 bool WasMovePartial() const { return Path.IsValid() && Path->IsPartial(); }
34
40 UFUNCTION(BlueprintCallable, Category = "AI|Tasks", meta = (AdvancedDisplay = "AcceptanceRadius,StopOnOverlap,AcceptPartialPath,bUsePathfinding,bUseContinuousGoalTracking,ProjectGoalOnNavigation,RequireNavigableEndLocation", DefaultToSelf = "Controller", BlueprintInternalUseOnly = "TRUE", DisplayName = "Move To Location or Actor"))
41 static AIMODULE_API UAITask_MoveTo* AIMoveTo(AAIController* Controller, FVector GoalLocation, AActor* GoalActor = nullptr,
42 float AcceptanceRadius = -1.f, EAIOptionFlag::Type StopOnOverlap = EAIOptionFlag::Default, EAIOptionFlag::Type AcceptPartialPath = EAIOptionFlag::Default,
45
48 FAIMoveRequest& GetMoveRequestRef() { return MoveRequest; }
49
51 AIMODULE_API void SetContinuousGoalTracking(bool bEnable);
52
54protected:
55 UPROPERTY(BlueprintAssignable)
57
58 UPROPERTY(BlueprintAssignable)
60
62 UPROPERTY()
63 FAIMoveRequest MoveRequest;
64
66 FDelegateHandle PathFinishDelegateHandle;
67
69 FDelegateHandle PathUpdateDelegateHandle;
70
72 FTimerHandle MoveRetryTimerHandle;
73
75 FTimerHandle PathRetryTimerHandle;
76
78 FAIRequestID MoveRequestID;
79
82
84 uint8 bUseContinuousTracking : 1;
85
87 AIMODULE_API virtual void OnDestroy(bool bOwnerFinished) override;
88
91
93 AIMODULE_API void FinishMoveTask(EPathFollowingResult::Type InResult);
94
96 AIMODULE_API void SetObservedPath(FNavPathSharedPtr InPath);
97
99 AIMODULE_API virtual void ResetObservers();
100
102 AIMODULE_API virtual void ResetTimers();
103
105 AIMODULE_API void ConditionalUpdatePath();
106
108 AIMODULE_API virtual void PerformMove();
109
112
114 AIMODULE_API virtual void OnRequestFinished(FAIRequestID RequestID, const FPathFollowingResult& Result);
115};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:58
#define DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param1Name, Param2Type, Param2Name)
Definition DelegateCombinations.h:62
return true
Definition ExternalRpcRegistry.cpp:601
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition AIController.h:91
Definition Actor.h:257
FName Tag const
Definition Actor.h:3810
Definition IDelegateInstance.h:14
Definition UObjectGlobals.h:1292
Definition EnumAsByte.h:22
Definition AITask_MoveTo.h:19
FMoveTaskFinishedSignature OnMoveTaskFinished
Definition AITask_MoveTo.h:53
bool WasMovePartial() const
Definition AITask_MoveTo.h:33
EPathFollowingResult::Type GetMoveResult() const
Definition AITask_MoveTo.h:31
bool WasMoveSuccessful() const
Definition AITask_MoveTo.h:32
Definition AITask.h:25
Definition AITypes.h:61
Definition NavigationTypes.h:337
Definition AIController.h:35
Type
Definition PathFollowingComponent.h:56
@ Success
Definition PathFollowingComponent.h:58
@ false
Definition radaudio_common.h:23
Definition AITypes.h:462
Definition AITypes.h:403
Definition NavigationData.h:87
Definition PathFollowingComponent.h:122
Definition TimerHandle.h:12