UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BTTask_RunBehaviorDynamic.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"
9#include "BTTask_RunBehaviorDynamic.generated.h"
10
11class UBehaviorTree;
12
20UCLASS(MinimalAPI)
22{
24
25 AIMODULE_API virtual EBTNodeResult::Type ExecuteTask(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) override;
26 AIMODULE_API virtual void OnInstanceCreated(UBehaviorTreeComponent& OwnerComp) override;
27 AIMODULE_API virtual FString GetStaticDescription() const override;
28 AIMODULE_API virtual void DescribeRuntimeValues(const UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, EBTDescriptionVerbosity::Type Verbosity, TArray<FString>& Values) const override;
29
30#if WITH_EDITOR
31 AIMODULE_API virtual FName GetNodeIconName() const override;
32 AIMODULE_API virtual const UObject* GetAssociatedAsset(TOptional<FBehaviorTreeNodeDebugContext> DebugContext) const override;
33
34 UE_DEPRECATED(5.6, "GetBehaviorAssetFromRuntimeValue has been replaced with the more generic GetAssociatedAsset.")
36
37#endif // WITH_EDITOR
38
39 bool HasMatchingTag(const FGameplayTag& Tag) const;
40 const FGameplayTag& GetInjectionTag() const;
41 AIMODULE_API bool SetBehaviorAsset(UBehaviorTree* NewBehaviorAsset);
42
44 UBehaviorTree* GetDefaultBehaviorAsset() const;
45
46protected:
47
49 UPROPERTY(Category=Node, EditAnywhere)
50 FGameplayTag InjectionTag;
51
53 UPROPERTY(Category=Node, EditAnywhere)
54 TObjectPtr<UBehaviorTree> DefaultBehaviorAsset;
55
57 UPROPERTY()
58 TObjectPtr<UBehaviorTree> BehaviorAsset;
59
61 AIMODULE_API virtual void OnSubtreeDeactivated(UBehaviorTreeComponent& OwnerComp, EBTNodeResult::Type NodeResult);
62};
63
65// Inlines
66
67inline bool UBTTask_RunBehaviorDynamic::HasMatchingTag(const FGameplayTag& Tag) const
68{
69 return InjectionTag == Tag;
70}
71
72inline UBehaviorTree* UBTTask_RunBehaviorDynamic::GetDefaultBehaviorAsset() const
73{
75}
76
77inline const FGameplayTag& UBTTask_RunBehaviorDynamic::GetInjectionTag() const
78{
79 return InjectionTag;
80}
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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 GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition NameTypes.h:617
Definition Array.h:670
Definition BTTaskNode.h:34
Definition BTTask_RunBehaviorDynamic.h:22
FGameplayTag InjectionTag
Definition BTTask_RunBehaviorDynamic.h:50
TObjectPtr< UBehaviorTree > DefaultBehaviorAsset
Definition BTTask_RunBehaviorDynamic.h:54
Definition BehaviorTreeComponent.h:105
Definition BehaviorTree.h:16
Definition Object.h:95
Type
Definition BehaviorTreeTypes.h:217
Definition BehaviorTreeTypes.h:84
Type
Definition BehaviorTreeTypes.h:87
Definition GameplayTagContainer.h:45
Definition ObjectPtr.h:488
Definition Optional.h:131