UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FBlackboardKeySelector Struct Reference

#include <BehaviorTreeTypes.h>

Public Member Functions

 FBlackboardKeySelector ()
 
AIMODULE_API void ResolveSelectedKey (const UBlackboardData &BlackboardAsset)
 
void AllowNoneAsValue (bool bAllow)
 
FBlackboard::FKey GetSelectedKeyID () const
 
AIMODULE_API void AddObjectFilter (UObject *Owner, FName PropertyName, TSubclassOf< UObject > AllowedClass)
 
AIMODULE_API void AddClassFilter (UObject *Owner, FName PropertyName, TSubclassOf< UObject > AllowedClass)
 
AIMODULE_API void AddEnumFilter (UObject *Owner, FName PropertyName, UEnum *AllowedEnum)
 
AIMODULE_API void AddNativeEnumFilter (UObject *Owner, FName PropertyName, const FString &AllowedEnumName)
 
AIMODULE_API void AddIntFilter (UObject *Owner, FName PropertyName)
 
AIMODULE_API void AddFloatFilter (UObject *Owner, FName PropertyName)
 
AIMODULE_API void AddBoolFilter (UObject *Owner, FName PropertyName)
 
AIMODULE_API void AddVectorFilter (UObject *Owner, FName PropertyName)
 
AIMODULE_API void AddRotatorFilter (UObject *Owner, FName PropertyName)
 
AIMODULE_API void AddStringFilter (UObject *Owner, FName PropertyName)
 
AIMODULE_API void AddNameFilter (UObject *Owner, FName PropertyName)
 
AIMODULE_API void AddStructFilter (UObject *Owner, FName PropertyName, const UScriptStruct *AllowedStruct)
 
template<typename T >
void AddStructFilter (UObject *Owner, FName PropertyName)
 
bool IsNone () const
 
bool IsSet () const
 
bool NeedsResolving () const
 
void InvalidateResolvedKey ()
 

Public Attributes

TArray< TObjectPtr< UBlackboardKeyType > > AllowedTypes
 
FName SelectedKeyName
 
TSubclassOf< UBlackboardKeyTypeSelectedKeyType
 
friend FBlackboardDecoratorDetails
 

Protected Member Functions

AIMODULE_API void InitSelection (const UBlackboardData &BlackboardAsset)
 

Protected Attributes

int32 SelectedKeyID
 
uint32 bNoneIsAllowedValue:1
 

Detailed Description

helper struct for defining types of allowed blackboard entries (e.g. only entries holding points and objects derived form actor class)

Constructor & Destructor Documentation

◆ FBlackboardKeySelector()

FBlackboardKeySelector::FBlackboardKeySelector ( )
inline

Member Function Documentation

◆ AddBoolFilter()

void FBlackboardKeySelector::AddBoolFilter ( UObject Owner,
FName  PropertyName 
)

◆ AddClassFilter()

void FBlackboardKeySelector::AddClassFilter ( UObject Owner,
FName  PropertyName,
TSubclassOf< UObject AllowedClass 
)

◆ AddEnumFilter()

void FBlackboardKeySelector::AddEnumFilter ( UObject Owner,
FName  PropertyName,
UEnum AllowedEnum 
)

◆ AddFloatFilter()

void FBlackboardKeySelector::AddFloatFilter ( UObject Owner,
FName  PropertyName 
)

◆ AddIntFilter()

void FBlackboardKeySelector::AddIntFilter ( UObject Owner,
FName  PropertyName 
)

◆ AddNameFilter()

void FBlackboardKeySelector::AddNameFilter ( UObject Owner,
FName  PropertyName 
)

◆ AddNativeEnumFilter()

void FBlackboardKeySelector::AddNativeEnumFilter ( UObject Owner,
FName  PropertyName,
const FString &  AllowedEnumName 
)

◆ AddObjectFilter()

void FBlackboardKeySelector::AddObjectFilter ( UObject Owner,
FName  PropertyName,
TSubclassOf< UObject AllowedClass 
)

helper functions for setting basic filters

◆ AddRotatorFilter()

void FBlackboardKeySelector::AddRotatorFilter ( UObject Owner,
FName  PropertyName 
)

◆ AddStringFilter()

void FBlackboardKeySelector::AddStringFilter ( UObject Owner,
FName  PropertyName 
)

◆ AddStructFilter() [1/2]

template<typename T >
void FBlackboardKeySelector::AddStructFilter ( UObject Owner,
FName  PropertyName 
)
inline

◆ AddStructFilter() [2/2]

void FBlackboardKeySelector::AddStructFilter ( UObject Owner,
FName  PropertyName,
const UScriptStruct AllowedStruct 
)

◆ AddVectorFilter()

void FBlackboardKeySelector::AddVectorFilter ( UObject Owner,
FName  PropertyName 
)

◆ AllowNoneAsValue()

void FBlackboardKeySelector::AllowNoneAsValue ( bool  bAllow)
inline

◆ GetSelectedKeyID()

FBlackboard::FKey FBlackboardKeySelector::GetSelectedKeyID ( ) const
inline

◆ InitSelection()

void FBlackboardKeySelector::InitSelection ( const UBlackboardData BlackboardAsset)
protected

find initial selection. Called when None is not a valid option for this key selector

◆ InvalidateResolvedKey()

void FBlackboardKeySelector::InvalidateResolvedKey ( )
inline

◆ IsNone()

bool FBlackboardKeySelector::IsNone ( ) const
inline

◆ IsSet()

bool FBlackboardKeySelector::IsSet ( ) const
inline

◆ NeedsResolving()

bool FBlackboardKeySelector::NeedsResolving ( ) const
inline

◆ ResolveSelectedKey()

void FBlackboardKeySelector::ResolveSelectedKey ( const UBlackboardData BlackboardAsset)

find ID and class of selected key

Member Data Documentation

◆ AllowedTypes

TArray<TObjectPtr<UBlackboardKeyType> > FBlackboardKeySelector::AllowedTypes

array of allowed types with additional properties (e.g. uobject's base class) EditAnywhere is required for FBlackboardSelectorDetails::CacheBlackboardData()

◆ bNoneIsAllowedValue

uint32 FBlackboardKeySelector::bNoneIsAllowedValue
protected

◆ FBlackboardDecoratorDetails

friend FBlackboardKeySelector::FBlackboardDecoratorDetails

◆ SelectedKeyID

int32 FBlackboardKeySelector::SelectedKeyID
protected

ID of selected key

◆ SelectedKeyName

FName FBlackboardKeySelector::SelectedKeyName

name of selected key

◆ SelectedKeyType

TSubclassOf<UBlackboardKeyType> FBlackboardKeySelector::SelectedKeyType

class of selected key


The documentation for this struct was generated from the following files: