UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BTTask_BlueprintBase.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
8#include "BTTask_BlueprintBase.generated.h"
9
10class AActor;
11class AAIController;
12class APawn;
13class UBehaviorTree;
14
23UCLASS(Abstract, Blueprintable, MinimalAPI)
25{
27
28 AIMODULE_API virtual EBTNodeResult::Type ExecuteTask(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) override;
29 AIMODULE_API virtual EBTNodeResult::Type AbortTask(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) override;
30
31 AIMODULE_API virtual FString GetStaticDescription() const override;
32 AIMODULE_API virtual void DescribeRuntimeValues(const UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, EBTDescriptionVerbosity::Type Verbosity, TArray<FString>& Values) const override;
33 AIMODULE_API virtual void OnInstanceDestroyed(UBehaviorTreeComponent& OwnerComp) override;
34 AIMODULE_API virtual void OnTaskFinished(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, EBTNodeResult::Type TaskResult) override;
35 AIMODULE_API virtual void InitializeFromAsset(UBehaviorTree& Asset) override;
36
37 AIMODULE_API virtual void SetOwner(AActor* ActorOwner) override;
38
39#if WITH_EDITOR
40 AIMODULE_API virtual bool UsesBlueprint() const override;
41#endif
42
43protected:
47
50 TObjectPtr<AActor> ActorOwner;
51
54 UPROPERTY(EditAnywhere, Category = Task)
55 FIntervalCountdown TickInterval;
56
58 mutable TEnumAsByte<EBTNodeResult::Type> CurrentCallResult;
59
61 TArray<FProperty*> PropertyData;
62
63#if WITH_EDITORONLY_DATA
64 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Description)
65 FString CustomDescription;
66#endif // WITH_EDITORONLY_DATA
67
69 UPROPERTY(EditInstanceOnly, Category=Description)
70 uint32 bShowPropertyDetails : 1;
71
73 uint32 ReceiveTickImplementations : 2;
74
76 uint32 ReceiveExecuteImplementations : 2;
77
79 uint32 ReceiveAbortImplementations : 2;
80
82 uint32 bIsAborting : 1;
83
86 mutable uint32 bStoreFinishResult : 1;
87
91 UFUNCTION(BlueprintImplementableEvent)
92 AIMODULE_API void ReceiveExecute(AActor* OwnerActor);
93
97 UFUNCTION(BlueprintImplementableEvent)
98 AIMODULE_API void ReceiveAbort(AActor* OwnerActor);
99
103 UFUNCTION(BlueprintImplementableEvent)
104 AIMODULE_API void ReceiveTick(AActor* OwnerActor, float DeltaSeconds);
105
110 UFUNCTION(BlueprintImplementableEvent, Category = AI)
111 AIMODULE_API void ReceiveExecuteAI(AAIController* OwnerController, APawn* ControlledPawn);
112
117 UFUNCTION(BlueprintImplementableEvent, Category = AI)
118 AIMODULE_API void ReceiveAbortAI(AAIController* OwnerController, APawn* ControlledPawn);
119
124 UFUNCTION(BlueprintImplementableEvent, Category = AI)
125 AIMODULE_API void ReceiveTickAI(AAIController* OwnerController, APawn* ControlledPawn, float DeltaSeconds);
126
128 UFUNCTION(BlueprintCallable, Category="AI|BehaviorTree")
129 AIMODULE_API void FinishExecute(bool bSuccess);
130
132 UFUNCTION(BlueprintCallable, Category="AI|BehaviorTree")
133 AIMODULE_API void FinishAbort();
134
136 UFUNCTION(BlueprintCallable, Category="AI|BehaviorTree")
137 AIMODULE_API void SetFinishOnMessage(FName MessageName);
138
140 UFUNCTION(BlueprintCallable, Category="AI|BehaviorTree")
141 AIMODULE_API void SetFinishOnMessageWithId(FName MessageName, int32 RequestID = -1);
142
144 UFUNCTION(BlueprintCallable, Category="AI|BehaviorTree")
145 AIMODULE_API bool IsTaskExecuting() const;
146
148 UFUNCTION(BlueprintCallable, Category = "AI|BehaviorTree")
149 AIMODULE_API bool IsTaskAborting() const;
150
152 AIMODULE_API virtual void TickTask(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, float DeltaSeconds) override;
153};
bool bSuccess
Definition ConvexDecomposition3.cpp:819
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition AIController.h:91
Definition Actor.h:257
Definition NameTypes.h:617
Definition UnrealType.h:174
Definition Array.h:670
Definition EnumAsByte.h:22
Definition BTTaskNode.h:34
Definition BTTask_BlueprintBase.h:25
Definition BehaviorTreeComponent.h:105
Definition BehaviorTree.h:16
Type
Definition BehaviorTreeTypes.h:217
Definition BehaviorTreeTypes.h:84
Type
Definition BehaviorTreeTypes.h:87
Definition AITypes.h:599
Definition ObjectPtr.h:488