RealDocs

UBehaviorTreeComponent::UnregisterMessageObserversFrom

function AIModule Since 4.0
#include "BehaviorTree/BehaviorTreeComponent.h"
Access: public

Description

Removes all message observers previously registered for the given task via RegisterMessageObserver. Called automatically when a task finishes or aborts.

Caveats & Gotchas

  • An overload taking an FBTNodeIndex exists for removing observers by execution index when you don't have the live UBTTaskNode pointer, e.g. during tree cleanup.
  • Safe to call even if no observers were registered for the task — it's a no-op in that case.
  • Does not cancel whatever async operation the task was waiting on, it only stops routing messages back to the tree.

Signature

void UnregisterMessageObserversFrom(const UBTTaskNode* TaskNode);

Parameters

Name Type Description Default
TaskNode const UBTTaskNode* Task whose registered message observers should be removed.

Return Type

void

Example

Clear observers when a task finishes C++
void UBTTask_WaitForSignal::OnTaskFinished(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, EBTNodeResult::Type TaskResult)
{
	OwnerComp.UnregisterMessageObserversFrom(this);
	Super::OnTaskFinished(OwnerComp, NodeMemory, TaskResult);
}

Version History

Introduced in: 4.0

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.