Custom BTTask

#include "BehaviorTree/BlackboardComponent.h"

UBTTask_ClearBlackboardValue::UBTTask_ClearBlackboardValue()
{
    NodeName = TEXT("Clear Blackboard Value");
}

EBTNodeResult::Type UBTTask_ClearBlackboardValue::ExecuteTask(UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory)
{
    Super::ExecuteTask(OwnerComp, NodeMemory);
 
    OwnerComp.GetBlackboardComponent()->
    ClearValue(GetSelectedBlackboardKey());

    return EBTNodeResult::Succeeded;
}

You created a custom task like this. I know that calling Clear Blackboard Value in the action tree will call the Execute Task function and erase the key value on the blackboard.

My question is, when I create custom tasks, can I create only one custom task in one class?
If you can create more than one task, when the task is called, what task do you think it is a function of?

Privacy & Terms