UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UAIPerceptionSystem Class Reference

#include <AIPerceptionSystem.h>

+ Inheritance diagram for UAIPerceptionSystem:

Classes

struct  FDelayedStimulus
 
struct  FPerceptionSourceRegistration
 

Public Member Functions

AIMODULE_API UAIPerceptionSystem (const FObjectInitializer &ObjectInitializer=FObjectInitializer::Get())
 
virtual AIMODULE_API void Tick (float DeltaTime) override
 
virtual AIMODULE_API TStatId GetStatId () const override
 
bool IsSenseInstantiated (const FAISenseID &SenseID) const
 
AIMODULE_API void UpdateListener (UAIPerceptionComponent &Listener)
 
AIMODULE_API void UnregisterListener (UAIPerceptionComponent &Listener)
 
template<typename FEventClass , typename FSenseClass = typename FEventClass::FSenseClass>
void OnEvent (const FEventClass &Event)
 
template<typename FEventClass , typename FSenseClass = typename FEventClass::FSenseClass>
void OnEventsBatch (const TArray< FEventClass > &Events)
 
AIMODULE_API void ReportEvent (UAISenseEvent *PerceptionEvent)
 
template<typename FSenseClass >
void RegisterSource (AActor &SourceActor)
 
AIMODULE_API void RegisterSource (AActor &SourceActor)
 
AIMODULE_API void RegisterSourceForSenseClass (TSubclassOf< UAISense > Sense, AActor &Target)
 
AIMODULE_API void UnregisterSource (AActor &SourceActor, const TSubclassOf< UAISense > Sense={})
 
AIMODULE_API void OnListenerForgetsActor (const UAIPerceptionComponent &Listener, AActor &ActorToForget)
 
AIMODULE_API void OnListenerForgetsAll (const UAIPerceptionComponent &Listener)
 
AIMODULE_API void OnListenerConfigUpdated (FAISenseID SenseID, const UAIPerceptionComponent &Listener)
 
AIMODULE_API void RegisterDelayedStimulus (FPerceptionListenerID ListenerId, float Delay, AActor *Instigator, const FAIStimulus &Stimulus)
 
AIMODULE_API FAISenseID RegisterSenseClass (TSubclassOf< UAISense > SenseClass)
 
- Public Member Functions inherited from UAISubsystem
AIMODULE_API UAISubsystem (const FObjectInitializer &ObjectInitializer=FObjectInitializer::Get())
 
virtual AIMODULE_API UWorldGetWorld () const override
 
virtual AIMODULE_API void BeginDestroy () override
 
virtual UWorldGetTickableGameObjectWorld () const override
 
virtual AIMODULE_API ETickableTickType GetTickableTickType () const override
 
UWorldGetWorldFast () const
 
- Public Member Functions inherited from UObject
COREUOBJECT_API UObject ()
 
COREUOBJECT_API UObject (const FObjectInitializer &ObjectInitializer)
 
COREUOBJECT_API UObject (EStaticConstructor, EObjectFlags InFlags)
 
COREUOBJECT_API UObject (FVTableHelper &Helper)
 
COREUOBJECT_API UObjectCreateDefaultSubobject (FName SubobjectFName, UClass *ReturnType, UClass *ClassToCreateByDefault, bool bIsRequired, bool bIsTransient)
 
template<class TReturnType >
TReturnTypeCreateEditorOnlyDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
COREUOBJECT_API void GetDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects)
 
COREUOBJECT_API UObjectGetDefaultSubobjectByName (FName ToFind)
 
virtual COREUOBJECT_API void PostInitProperties ()
 
virtual COREUOBJECT_API void PostReinitProperties ()
 
virtual void PostCDOContruct ()
 
virtual COREUOBJECT_API void PreSaveRoot (FObjectPreSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PostSaveRoot (FObjectPostSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PreSave (FObjectPreSaveContext SaveContext)
 
virtual COREUOBJECT_API void CollectSaveOverrides (FObjectCollectSaveOverridesContext SaveContext)
 
UE_FORCEINLINE_HINT bool Modify (bool bAlwaysMarkDirty=true)
 
UE_FORCEINLINE_HINT bool IsCapturingAsRootObjectForTransaction () const
 
virtual bool ResolveSubobject (const TCHAR *SubObjectPath, UObject *&OutObject, bool bLoadIfExists)
 
virtual bool IsReadyForAsyncPostLoad () const
 
virtual COREUOBJECT_API void PostLoad ()
 
virtual COREUOBJECT_API void PostLoadSubobjects (FObjectInstancingGraph *OuterInstanceGraph)
 
virtual bool IsReadyForFinishDestroy ()
 
virtual COREUOBJECT_API void FinishDestroy ()
 
virtual COREUOBJECT_API void Serialize (FArchive &Ar)
 
virtual COREUOBJECT_API void Serialize (FStructuredArchive::FRecord Record)
 
virtual void ShutdownAfterError ()
 
virtual void PostInterpChange (FProperty *PropertyThatChanged)
 
virtual COREUOBJECT_API void PostRename (UObject *OldOuter, const FName OldName)
 
virtual void PreDuplicate (FObjectDuplicationParameters &DupParams)
 
virtual void PostDuplicate (bool bDuplicateForPIE)
 
virtual void PostDuplicate (EDuplicateMode::Type DuplicateMode)
 
virtual COREUOBJECT_API bool NeedsLoadForClient () const
 
virtual COREUOBJECT_API bool NeedsLoadForServer () const
 
virtual COREUOBJECT_API bool NeedsLoadForTargetPlatform (const class ITargetPlatform *TargetPlatform) const
 
virtual bool NeedsLoadForEditorGame () const
 
virtual bool IsEditorOnly () const
 
virtual bool HasNonEditorOnlyReferences () const
 
virtual bool IsPostLoadThreadSafe () const
 
virtual COREUOBJECT_API bool IsDestructionThreadSafe () const
 
virtual COREUOBJECT_API void GetPreloadDependencies (TArray< UObject * > &OutDeps)
 
virtual void GetPrestreamPackages (TArray< UObject * > &OutPrestream)
 
virtual void ExportCustomProperties (FOutputDevice &Out, uint32 Indent)
 
virtual void ImportCustomProperties (const TCHAR *SourceText, FFeedbackContext *Warn)
 
virtual void PostEditImport ()
 
virtual void PostReloadConfig (class FProperty *PropertyThatWasLoaded)
 
virtual COREUOBJECT_API bool Rename (const TCHAR *NewName=nullptr, UObject *NewOuter=nullptr, ERenameFlags Flags=REN_None)
 
virtual FString GetDesc ()
 
COREUOBJECT_API UScriptStructGetSparseClassDataStruct () const
 
virtual bool GetNativePropertyValues (TMap< FString, FString > &out_PropertyValues, uint32 ExportFlags=0) const
 
virtual COREUOBJECT_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize)
 
SIZE_T GetResourceSizeBytes (EResourceSizeMode::Type Mode)
 
virtual FName GetExporterName (void)
 
COREUOBJECT_API void CallAddReferencedObjects (FReferenceCollector &Collector)
 
virtual FRestoreForUObjectOverwriteGetRestoreForUObjectOverwrite ()
 
virtual bool AreNativePropertiesIdenticalTo (UObject *Other) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (TArray< FAssetRegistryTag > &OutTags) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetData &Out) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context, FAssetData &Out) const
 
virtual COREUOBJECT_API bool IsAsset () const
 
virtual COREUOBJECT_API FPrimaryAssetId GetPrimaryAssetId () const
 
virtual COREUOBJECT_API bool IsLocalizedResource () const
 
virtual COREUOBJECT_API bool IsSafeForRootSet () const
 
virtual COREUOBJECT_API void TagSubobjects (EObjectFlags NewFlags)
 
virtual COREUOBJECT_API void GetLifetimeReplicatedProps (TArray< class FLifetimeProperty > &OutLifetimeProps) const
 
virtual COREUOBJECT_API void GetReplicatedCustomConditionState (FCustomPropertyConditionState &OutActiveState) const
 
virtual COREUOBJECT_API void RegisterReplicationFragments (UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags)
 
virtual COREUOBJECT_API bool IsNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsFullNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsSupportedForNetworking () const
 
virtual void GetSubobjectsWithStableNamesForNetworking (TArray< UObject * > &ObjList)
 
virtual COREUOBJECT_API void PreNetReceive ()
 
virtual COREUOBJECT_API void PostNetReceive ()
 
virtual void PostRepNotifies ()
 
virtual COREUOBJECT_API void PreDestroyFromReplication ()
 
COREUOBJECT_API bool IsSelected () const
 
COREUOBJECT_API void SerializeScriptProperties (FArchive &Ar) const
 
COREUOBJECT_API void SerializeScriptProperties (FStructuredArchive::FSlot Slot) const
 
COREUOBJECT_API void ReinitializeProperties (UObject *SourceObject=NULL, struct FObjectInstancingGraph *InstanceGraph=NULL)
 
COREUOBJECT_API FString GetDetailedInfo () const
 
COREUOBJECT_API bool ConditionalBeginDestroy ()
 
COREUOBJECT_API bool ConditionalFinishDestroy ()
 
COREUOBJECT_API void ConditionalPostLoad ()
 
COREUOBJECT_API void ConditionalPreload ()
 
COREUOBJECT_API void ConditionalPostLoadSubobjects (struct FObjectInstancingGraph *OuterInstanceGraph=NULL)
 
bool IsBasedOnArchetype (const UObject *const SomeObject) const
 
COREUOBJECT_API UFunctionFindFunction (FName InName) const
 
COREUOBJECT_API UFunctionFindFunctionChecked (FName InName) const
 
virtual COREUOBJECT_API void BuildSubobjectMapping (UObject *OtherObject, TMap< UObject *, UObject * > &ObjectMapping) const
 
COREUOBJECT_API void CollectDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects, bool bIncludeNestedSubobjects=false) const
 
COREUOBJECT_API bool CheckDefaultSubobjects (bool bForceCheck=false) const
 
COREUOBJECT_API void SaveConfig (uint64 RequiredPropertyFlags=CPF_Config, const TCHAR *Filename=nullptr, FConfigCacheIni *Config=GConfig, bool bAllowCopyToDefaultObject=true)
 
COREUOBJECT_API void SaveConfig (const FSaveConfigContext &Context)
 
COREUOBJECT_API void UpdateDefaultConfigFile (const FString &SpecificFileLocation="")
 
COREUOBJECT_API bool TryUpdateDefaultConfigFile (const FString &SpecificFileLocation="", bool bWarnIfFail=true)
 
COREUOBJECT_API void UpdateGlobalUserConfigFile ()
 
COREUOBJECT_API void UpdateProjectUserConfigFile ()
 
COREUOBJECT_API void UpdateSinglePropertyInConfigFile (const FProperty *InProperty, const FString &InConfigIniName)
 
COREUOBJECT_API FString GetDefaultConfigFilename () const
 
COREUOBJECT_API FString GetGlobalUserConfigFilename () const
 
COREUOBJECT_API FString GetProjectUserConfigFilename () const
 
virtual const TCHARGetConfigOverridePlatform () const
 
virtual void OverrideConfigSection (FString &SectionName)
 
virtual void OverridePerObjectConfigSection (FString &SectionName)
 
COREUOBJECT_API void LoadConfig (UClass *ConfigClass=nullptr, const TCHAR *Filename=nullptr, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=nullptr, TArray< UE::ConfigAccessTracking::FConfigAccessData > *OutAccessedKeys=nullptr)
 
COREUOBJECT_API void ReloadConfig (UClass *ConfigClass=NULL, const TCHAR *Filename=NULL, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=NULL)
 
COREUOBJECT_API void ParseParms (const TCHAR *Parms)
 
COREUOBJECT_API void OutputReferencers (FOutputDevice &Ar, FReferencerInformationList *Referencers=NULL)
 
COREUOBJECT_API void RetrieveReferencers (TArray< FReferencerInformation > *OutInternalReferencers, TArray< FReferencerInformation > *OutExternalReferencers)
 
COREUOBJECT_API void SetLinker (FLinkerLoad *LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting=true, bool bSilenceLogs=false)
 
COREUOBJECT_API UObjectGetArchetype () const
 
COREUOBJECT_API void GetArchetypeInstances (TArray< UObject * > &Instances)
 
COREUOBJECT_API void InstanceSubobjectTemplates (struct FObjectInstancingGraph *InstanceGraph=NULL)
 
template<class T >
bool Implements () const
 
virtual COREUOBJECT_API void ProcessEvent (UFunction *Function, void *Parms)
 
virtual int32 GetFunctionCallspace (UFunction *Function, FFrame *Stack)
 
virtual bool CallRemoteFunction (UFunction *Function, void *Parms, struct FOutParmRec *OutParms, FFrame *Stack)
 
COREUOBJECT_API bool CallFunctionByNameWithArguments (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor, bool bForceCallWithNonExec=false)
 
COREUOBJECT_API void CallFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
 DECLARE_FUNCTION (ProcessInternal)
 
virtual bool ProcessConsoleExec (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor)
 
COREUOBJECT_API void SkipFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
virtual UClassRegenerateClass (UClass *ClassToRegenerate, UObject *PreviousCDO)
 
COREUOBJECT_API bool IsInBlueprint () const
 
COREUOBJECT_API void DestroyNonNativeProperties ()
 
virtual void MarkAsEditorOnlySubobject ()
 
COREUOBJECT_API void AbortInsideMemberFunction () const
 
 DECLARE_FUNCTION (execUndefined)
 
 DECLARE_FUNCTION (execLocalVariable)
 
 DECLARE_FUNCTION (execInstanceVariable)
 
 DECLARE_FUNCTION (execDefaultVariable)
 
 DECLARE_FUNCTION (execLocalOutVariable)
 
 DECLARE_FUNCTION (execInterfaceVariable)
 
 DECLARE_FUNCTION (execClassSparseDataVariable)
 
 DECLARE_FUNCTION (execInterfaceContext)
 
 DECLARE_FUNCTION (execArrayElement)
 
 DECLARE_FUNCTION (execBoolVariable)
 
 DECLARE_FUNCTION (execClassDefaultVariable)
 
 DECLARE_FUNCTION (execEndFunctionParms)
 
 DECLARE_FUNCTION (execNothing)
 
 DECLARE_FUNCTION (execNothingInt32)
 
 DECLARE_FUNCTION (execNothingOp4a)
 
 DECLARE_FUNCTION (execBreakpoint)
 
 DECLARE_FUNCTION (execTracepoint)
 
 DECLARE_FUNCTION (execWireTracepoint)
 
 DECLARE_FUNCTION (execInstrumentation)
 
 DECLARE_FUNCTION (execEndOfScript)
 
 DECLARE_FUNCTION (execReturnNothing)
 
 DECLARE_FUNCTION (execEmptyParmValue)
 
 DECLARE_FUNCTION (execJump)
 
 DECLARE_FUNCTION (execJumpIfNot)
 
 DECLARE_FUNCTION (execAssert)
 
 DECLARE_FUNCTION (execPushExecutionFlow)
 
 DECLARE_FUNCTION (execPopExecutionFlow)
 
 DECLARE_FUNCTION (execComputedJump)
 
 DECLARE_FUNCTION (execPopExecutionFlowIfNot)
 
 DECLARE_FUNCTION (execLet)
 
 DECLARE_FUNCTION (execLetObj)
 
 DECLARE_FUNCTION (execLetWeakObjPtr)
 
 DECLARE_FUNCTION (execLetBool)
 
 DECLARE_FUNCTION (execLetDelegate)
 
 DECLARE_FUNCTION (execLetMulticastDelegate)
 
 DECLARE_FUNCTION (execAddMulticastDelegate)
 
 DECLARE_FUNCTION (execClearMulticastDelegate)
 
 DECLARE_FUNCTION (execEatReturnValue)
 
 DECLARE_FUNCTION (execRemoveMulticastDelegate)
 
 DECLARE_FUNCTION (execSelf)
 
 DECLARE_FUNCTION (execContext)
 
 DECLARE_FUNCTION (execContext_FailSilent)
 
 DECLARE_FUNCTION (execStructMemberContext)
 
 DECLARE_FUNCTION (execVirtualFunction)
 
 DECLARE_FUNCTION (execFinalFunction)
 
 DECLARE_FUNCTION (execLocalVirtualFunction)
 
 DECLARE_FUNCTION (execLocalFinalFunction)
 
 DECLARE_FUNCTION (execStructCmpEq)
 
 DECLARE_FUNCTION (execStructCmpNe)
 
 DECLARE_FUNCTION (execStructMember)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execNotEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execNotEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execIntConst)
 
 DECLARE_FUNCTION (execInt64Const)
 
 DECLARE_FUNCTION (execUInt64Const)
 
 DECLARE_FUNCTION (execSkipOffsetConst)
 
 DECLARE_FUNCTION (execFloatConst)
 
 DECLARE_FUNCTION (execDoubleConst)
 
 DECLARE_FUNCTION (execStringConst)
 
 DECLARE_FUNCTION (execUnicodeStringConst)
 
 DECLARE_FUNCTION (execTextConst)
 
 DECLARE_FUNCTION (execPropertyConst)
 
 DECLARE_FUNCTION (execObjectConst)
 
 DECLARE_FUNCTION (execSoftObjectConst)
 
 DECLARE_FUNCTION (execFieldPathConst)
 
 DECLARE_FUNCTION (execInstanceDelegate)
 
 DECLARE_FUNCTION (execNameConst)
 
 DECLARE_FUNCTION (execByteConst)
 
 DECLARE_FUNCTION (execIntZero)
 
 DECLARE_FUNCTION (execIntOne)
 
 DECLARE_FUNCTION (execTrue)
 
 DECLARE_FUNCTION (execFalse)
 
 DECLARE_FUNCTION (execNoObject)
 
 DECLARE_FUNCTION (execNullInterface)
 
 DECLARE_FUNCTION (execIntConstByte)
 
 DECLARE_FUNCTION (execRotationConst)
 
 DECLARE_FUNCTION (execVectorConst)
 
 DECLARE_FUNCTION (execVector3fConst)
 
 DECLARE_FUNCTION (execTransformConst)
 
 DECLARE_FUNCTION (execStructConst)
 
 DECLARE_FUNCTION (execSetArray)
 
 DECLARE_FUNCTION (execSetSet)
 
 DECLARE_FUNCTION (execSetMap)
 
 DECLARE_FUNCTION (execArrayConst)
 
 DECLARE_FUNCTION (execSetConst)
 
 DECLARE_FUNCTION (execMapConst)
 
 DECLARE_FUNCTION (execBitFieldConst)
 
 DECLARE_FUNCTION (execNew)
 
 DECLARE_FUNCTION (execClassContext)
 
 DECLARE_FUNCTION (execNativeParm)
 
 DECLARE_FUNCTION (execCast)
 
 DECLARE_FUNCTION (execDynamicCast)
 
 DECLARE_FUNCTION (execMetaCast)
 
 DECLARE_FUNCTION (execInterfaceCast)
 
 DECLARE_FUNCTION (execDoubleToFloatCast)
 
 DECLARE_FUNCTION (execFloatToDoubleCast)
 
 DECLARE_FUNCTION (execObjectToBool)
 
 DECLARE_FUNCTION (execInterfaceToBool)
 
 DECLARE_FUNCTION (execObjectToInterface)
 
 DECLARE_FUNCTION (execInterfaceToInterface)
 
 DECLARE_FUNCTION (execInterfaceToObject)
 
 DECLARE_FUNCTION (execGetDynArrayElement)
 
 DECLARE_FUNCTION (execSetDynArrayElement)
 
 DECLARE_FUNCTION (execGetDynArrayLength)
 
 DECLARE_FUNCTION (execSetDynArrayLength)
 
 DECLARE_FUNCTION (execDynArrayInsert)
 
 DECLARE_FUNCTION (execDynArrayRemove)
 
 DECLARE_FUNCTION (execDynArrayFind)
 
 DECLARE_FUNCTION (execDynArrayFindStruct)
 
 DECLARE_FUNCTION (execDynArrayAdd)
 
 DECLARE_FUNCTION (execDynArrayAddItem)
 
 DECLARE_FUNCTION (execDynArrayInsertItem)
 
 DECLARE_FUNCTION (execDynArrayRemoveItem)
 
 DECLARE_FUNCTION (execDynArraySort)
 
 DECLARE_FUNCTION (execBindDelegate)
 
 DECLARE_FUNCTION (execCallMulticastDelegate)
 
 DECLARE_FUNCTION (execLetValueOnPersistentFrame)
 
 DECLARE_FUNCTION (execCallMathFunction)
 
 DECLARE_FUNCTION (execSwitchValue)
 
 DECLARE_FUNCTION (execArrayGetByRef)
 
 DECLARE_FUNCTION (execAutoRtfmTransact)
 
 DECLARE_FUNCTION (execAutoRtfmStopTransact)
 
 DECLARE_FUNCTION (execAutoRtfmAbortIfNot)
 
void ExecuteUbergraph (int32 EntryPoint)
 
virtual void ValidateGeneratedRepEnums (const TArray< struct FRepRecord > &ClassReps) const
 
virtual uint64 GetNetPushIdDynamic () const
 
- Public Member Functions inherited from UObjectBaseUtility
 UObjectBaseUtility ()
 
 UObjectBaseUtility (EObjectFlags InFlags)
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags FlagsToClear)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
UE_FORCEINLINE_HINT EObjectFlags GetMaskedFlags (EObjectFlags Mask=RF_AllFlags) const
 
UE_FORCEINLINE_HINT void Mark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT void UnMark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAnyMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAllMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT EObjectMark GetAllMarks () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
UE_FORCEINLINE_HINT void AddToRoot ()
 
UE_FORCEINLINE_HINT void RemoveFromRoot ()
 
UE_FORCEINLINE_HINT bool IsRooted () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
bool ThisThreadAtomicallyClearedRFUnreachable ()
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT bool IsNative () const
 
void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
UE_FORCEINLINE_HINT EInternalObjectFlags GetInternalFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
void ClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
bool AtomicallyClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
COREUOBJECT_API FString GetFullName (const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (const UObject *StopOuter, FString &ResultString, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (FStringBuilderBase &ResultString, const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=NULL) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FString &ResultString) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
virtual bool CanBeClusterRoot () const
 
virtual COREUOBJECT_API bool CanBeInCluster () const
 
virtual COREUOBJECT_API void CreateCluster ()
 
virtual void OnClusterMarkedAsPendingKill ()
 
COREUOBJECT_API void AddToCluster (UObjectBaseUtility *ClusterRootOrObjectFromCluster, bool bAddAsMutableObject=false)
 
COREUOBJECT_API FString GetFullGroupName (bool bStartWithOuter) const
 
UE_FORCEINLINE_HINT FString GetName () const
 
UE_FORCEINLINE_HINT void GetName (FString &ResultString) const
 
UE_FORCEINLINE_HINT void AppendName (FString &ResultString) const
 
COREUOBJECT_API bool IsPackageExternal () const
 
COREUOBJECT_API void DetachExternalPackage ()
 
COREUOBJECT_API void ReattachExternalPackage ()
 
COREUOBJECT_API UObjectGetOutermostObject () const
 
COREUOBJECT_API UPackageGetPackage () const
 
UE_INTERNAL virtual COREUOBJECT_API UE::Core::FVersePath GetVersePath () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API bool MarkPackageDirty () const
 
COREUOBJECT_API bool IsTemplate (EObjectFlags TemplateTypes=RF_ArchetypeObject|RF_ClassDefaultObject) const
 
COREUOBJECT_API UObjectGetTypedOuter (UClass *Target) const
 
template<typename T >
T * GetTypedOuter () const
 
template<typename InterfaceClassType >
InterfaceClassTypeGetImplementingOuter () const
 
COREUOBJECT_API UObjectBaseUtilityGetImplementingOuterObject (const UClass *InInterfaceClass) const
 
COREUOBJECT_API bool IsIn (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsIn (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInOuter (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsInPackage (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInA (const UClass *SomeBaseClass) const
 
COREUOBJECT_API bool RootPackageHasAnyFlags (uint32 CheckFlagMask) const
 
template<typename OtherClassType >
bool IsA (OtherClassType SomeBase) const
 
template<class T >
bool IsA () const
 
COREUOBJECT_API const UClassFindNearestCommonBaseClass (const UClass *TestClass) const
 
COREUOBJECT_API voidGetInterfaceAddress (UClass *InterfaceClass)
 
COREUOBJECT_API voidGetNativeInterfaceAddress (UClass *InterfaceClass)
 
const voidGetNativeInterfaceAddress (UClass *InterfaceClass) const
 
COREUOBJECT_API bool IsTemplateForSubobjects (EObjectFlags TemplateTypes=RF_ClassDefaultObject|RF_DefaultSubObject|RF_InheritableComponentTemplate) const
 
COREUOBJECT_API bool IsDefaultSubobject () const
 
COREUOBJECT_API class FLinkerLoadGetLinker () const
 
COREUOBJECT_API int32 GetLinkerIndex () const
 
COREUOBJECT_API FPackageFileVersion GetLinkerUEVersion () const
 
int32 GetLinkerUE4Version () const
 
COREUOBJECT_API int32 GetLinkerLicenseeUEVersion () const
 
int32 GetLinkerLicenseeUE4Version () const
 
COREUOBJECT_API int32 GetLinkerCustomVersion (FGuid CustomVersionKey) const
 
UE_FORCEINLINE_HINT bool operator< (const UObjectBaseUtility &Other) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
- Public Member Functions inherited from UObjectBase
COREUOBJECT_API UObjectBase (UClass *InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName, int32 InInternalIndex=-1, int32 InSerialNumber=0, FRemoteObjectId InRemoteId=FRemoteObjectId())
 
virtual COREUOBJECT_API ~UObjectBase ()
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsValidLowLevelFast (bool bRecursive=true) const
 
FORCEINLINE uint32 GetUniqueID () const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE UObjectGetOuter () const
 
FORCEINLINE FName GetFName () const
 
virtual COREUOBJECT_API FName GetFNameForStatID () const
 
COREUOBJECT_API UPackageGetExternalPackage () const
 
COREUOBJECT_API void SetExternalPackage (UPackage *InPackage)
 
COREUOBJECT_API UPackageGetExternalPackageInternal () const
 
COREUOBJECT_API void MarkAsReachable () const
 
COREUOBJECT_API void AddRef () const
 
COREUOBJECT_API void ReleaseRef () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCENOINLINE void AtomicallySetFlags (EObjectFlags FlagsToAdd)
 
FORCENOINLINE void AtomicallyClearFlags (EObjectFlags FlagsToClear)
 
- Public Member Functions inherited from FTickableGameObject
 UE_NONCOPYABLE (FTickableGameObject)
 
ENGINE_API FTickableGameObject (ETickableTickType StartingTickType=ETickableTickType::NewObject)
 
virtual ENGINE_API ~FTickableGameObject ()
 
virtual bool IsTickableWhenPaused () const
 
virtual bool IsTickableInEditor () const
 
ENGINE_API void SetTickableTickType (ETickableTickType NewTickType)
 
- Public Member Functions inherited from FTickableObjectBase
virtual bool IsTickable () const
 
virtual bool IsAllowedToTick () const
 

Static Public Member Functions

template<typename FEventClass , typename FSenseClass = typename FEventClass::FSenseClass>
static void OnEvent (UWorld *World, const FEventClass &Event)
 
static AIMODULE_API void ReportPerceptionEvent (UObject *WorldContextObject, UAISenseEvent *PerceptionEvent)
 
static AIMODULE_API UAIPerceptionSystemGetCurrent (UObject *WorldContextObject)
 
static AIMODULE_API UAIPerceptionSystemGetCurrent (UWorld &World)
 
static AIMODULE_API void MakeNoiseImpl (AActor *NoiseMaker, float Loudness, APawn *NoiseInstigator, const FVector &NoiseLocation, float MaxRange, FName Tag)
 
static AIMODULE_API bool RegisterPerceptionStimuliSource (UObject *WorldContextObject, TSubclassOf< UAISense > Sense, AActor *Target)
 
static AIMODULE_API TSubclassOf< UAISenseGetSenseClassForStimulus (UObject *WorldContextObject, const FAIStimulus &Stimulus)
 
- Static Public Member Functions inherited from UObject
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedServer (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedClient (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API bool CanCreateInCurrentContext (UObject *Template)
 
static COREUOBJECT_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static COREUOBJECT_API const FNameSourceFileTagName ()
 
static COREUOBJECT_API UObjectGetArchetypeFromRequiredInfo (const UClass *Class, const UObject *Outer, FName Name, EObjectFlags ObjectFlags)
 
- Static Public Member Functions inherited from UObjectBaseUtility
static bool IsGarbageEliminationEnabled ()
 
static bool IsPendingKillEnabled ()
 
static void SetGarbageEliminationEnabled (bool bEnabled)
 
static COREUOBJECT_API void ReloadObjectsFromModifiedConfigSections (const class FConfigModificationTracker *ChangeTracker)
 
- Static Public Member Functions inherited from UObjectBase
static COREUOBJECT_API FString RemoveClassPrefix (const TCHAR *ClassName)
 
static void PrefetchClass (UObject *Object)
 
static void PrefetchOuter (UObject *Object)
 
- Static Public Member Functions inherited from FTickableGameObject
static ENGINE_API void TickObjects (UWorld *World, ELevelTick LevelTickType, bool bIsPaused, float DeltaSeconds)
 

Protected Types

enum  EDelayedStimulusSorting { RequiresSorting , NoNeedToSort }
 

Protected Member Functions

AIMODULE_API void OnPerceptionStimuliSourceEndPlay (AActor *Actor, EEndPlayReason::Type EndPlayReason)
 
AIMODULE_API void RegisterSource (FAISenseID SenseID, AActor &SourceActor)
 
virtual AIMODULE_API void RegisterAllPawnsAsSourcesForSense (FAISenseID SenseID)
 
AIMODULE_API bool DeliverDelayedStimuli (EDelayedStimulusSorting Sorting)
 
AIMODULE_API void OnNewListener (const FPerceptionListener &NewListener)
 
AIMODULE_API void OnListenerUpdate (const FPerceptionListener &UpdatedListener)
 
AIMODULE_API void OnListenerRemoved (const FPerceptionListener &UpdatedListener)
 
AIMODULE_API void PerformSourceRegistration ()
 
AIMODULE_API bool AgeStimuli (const float Amount)
 
AIPerception::FListenerMapGetListenersMap ()
 
virtual AIMODULE_API void OnNewPawn (APawn &Pawn)
 
virtual AIMODULE_API void StartPlay ()
 
- Protected Member Functions inherited from UObject
virtual FString GetDetailedInfoInternal () const
 
COREUOBJECT_API bool CanCheckDefaultSubObjects (bool bForceCheck, bool &bResult) const
 
virtual COREUOBJECT_API bool CheckDefaultSubobjectsInternal () const
 
- Protected Member Functions inherited from UObjectBase
 UObjectBase ()
 
COREUOBJECT_API UObjectBase (EObjectFlags InFlags)
 
COREUOBJECT_API void LowLevelRename (FName NewName, UObject *NewOuter=NULL)
 
virtual void RegisterDependencies ()
 
COREUOBJECT_API void Register (class UClass *(*StaticClassFn)(), const TCHAR *PackageName, const TCHAR *Name)
 
COREUOBJECT_API void Register (const TCHAR *PackageName, const TCHAR *Name)
 
virtual COREUOBJECT_API void DeferredRegister (UClass *UClassStaticClass, const TCHAR *PackageName, const TCHAR *Name)
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 

Protected Attributes

AIPerception::FListenerMap ListenerContainer
 
TArray< TObjectPtr< UAISense > > Senses
 
float PerceptionAgingRate
 
FActorEndPlaySignature::FDelegate StimuliSourceEndPlayDelegate
 
TMap< const AActor *, FPerceptionStimuliSourceRegisteredStimuliSources
 
uint32 bHandlePawnNotification: 1
 
TArray< FDelayedStimulusDelayedStimuli
 
TArray< FPerceptionSourceRegistrationSourcesToRegister
 
double NextStimuliAgingTick
 

Friends

class UAISense
 
class UAISystem
 

Additional Inherited Members

- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 
- Static Protected Member Functions inherited from FTickableObjectBase
static ENGINE_API void SimpleTickObjects (FTickableStatics &Statics, TFunctionRef< void(FTickableObjectBase *)> TickFunc)
 

Detailed Description

AI Subsystem managing AI Perception through registered AI Senses between Listeners and Stimuli Sources

Member Enumeration Documentation

◆ EDelayedStimulusSorting

Enumerator
RequiresSorting 
NoNeedToSort 

Constructor & Destructor Documentation

◆ UAIPerceptionSystem()

UAIPerceptionSystem::UAIPerceptionSystem ( const FObjectInitializer ObjectInitializer = FObjectInitializer::Get())

Member Function Documentation

◆ AgeStimuli()

bool UAIPerceptionSystem::AgeStimuli ( const float  Amount)
protected

Returns true if aging resulted in tagging any of the listeners to process its stimuli (

See also
MarkForStimulusProcessing)

◆ DeliverDelayedStimuli()

bool UAIPerceptionSystem::DeliverDelayedStimuli ( UAIPerceptionSystem::EDelayedStimulusSorting  Sorting)
protected

sorts DelayedStimuli and delivers all the ones that are no longer "in the future"

Returns
true if any stimuli has become "current" stimuli (meaning being no longer in future)

◆ GetCurrent() [1/2]

UAIPerceptionSystem * UAIPerceptionSystem::GetCurrent ( UObject WorldContextObject)
static

◆ GetCurrent() [2/2]

UAIPerceptionSystem * UAIPerceptionSystem::GetCurrent ( UWorld World)
static

◆ GetListenersMap()

AIPerception::FListenerMap & UAIPerceptionSystem::GetListenersMap ( )
inlineprotected

◆ GetSenseClassForStimulus()

TSubclassOf< UAISense > UAIPerceptionSystem::GetSenseClassForStimulus ( UObject WorldContextObject,
const FAIStimulus Stimulus 
)
static

◆ GetStatId()

TStatId UAIPerceptionSystem::GetStatId ( ) const
overridevirtual

Return the stat id used to track the performance of this object

Reimplemented from UAISubsystem.

◆ IsSenseInstantiated()

bool UAIPerceptionSystem::IsSenseInstantiated ( const FAISenseID SenseID) const
inline

◆ MakeNoiseImpl()

void UAIPerceptionSystem::MakeNoiseImpl ( AActor NoiseMaker,
float  Loudness,
APawn *  NoiseInstigator,
const FVector NoiseLocation,
float  MaxRange,
FName  Tag 
)
static

◆ OnEvent() [1/2]

template<typename FEventClass , typename FSenseClass = typename FEventClass::FSenseClass>
void UAIPerceptionSystem::OnEvent ( const FEventClass Event)
inline

◆ OnEvent() [2/2]

template<typename FEventClass , typename FSenseClass = typename FEventClass::FSenseClass>
static void UAIPerceptionSystem::OnEvent ( UWorld World,
const FEventClass Event 
)
inlinestatic

◆ OnEventsBatch()

template<typename FEventClass , typename FSenseClass = typename FEventClass::FSenseClass>
void UAIPerceptionSystem::OnEventsBatch ( const TArray< FEventClass > &  Events)
inline

◆ OnListenerConfigUpdated()

void UAIPerceptionSystem::OnListenerConfigUpdated ( FAISenseID  SenseID,
const UAIPerceptionComponent Listener 
)

◆ OnListenerForgetsActor()

void UAIPerceptionSystem::OnListenerForgetsActor ( const UAIPerceptionComponent Listener,
AActor ActorToForget 
)

◆ OnListenerForgetsAll()

void UAIPerceptionSystem::OnListenerForgetsAll ( const UAIPerceptionComponent Listener)

◆ OnListenerRemoved()

void UAIPerceptionSystem::OnListenerRemoved ( const FPerceptionListener UpdatedListener)
protected

◆ OnListenerUpdate()

void UAIPerceptionSystem::OnListenerUpdate ( const FPerceptionListener UpdatedListener)
protected

◆ OnNewListener()

void UAIPerceptionSystem::OnNewListener ( const FPerceptionListener NewListener)
protected

◆ OnNewPawn()

void UAIPerceptionSystem::OnNewPawn ( APawn &  Pawn)
protectedvirtual

◆ OnPerceptionStimuliSourceEndPlay()

void UAIPerceptionSystem::OnPerceptionStimuliSourceEndPlay ( AActor Actor,
EEndPlayReason::Type  EndPlayReason 
)
protected

◆ PerformSourceRegistration()

void UAIPerceptionSystem::PerformSourceRegistration ( )
protected

◆ RegisterAllPawnsAsSourcesForSense()

void UAIPerceptionSystem::RegisterAllPawnsAsSourcesForSense ( FAISenseID  SenseID)
protectedvirtual

iterates over all pawns and registeres them as a source for sense indicated by SenseID. Note that this will be performed only for senses that request that (see UAISense.bAutoRegisterAllPawnsAsSources).

◆ RegisterDelayedStimulus()

void UAIPerceptionSystem::RegisterDelayedStimulus ( FPerceptionListenerID  ListenerId,
float  Delay,
AActor Instigator,
const FAIStimulus Stimulus 
)

◆ RegisterPerceptionStimuliSource()

bool UAIPerceptionSystem::RegisterPerceptionStimuliSource ( UObject WorldContextObject,
TSubclassOf< UAISense Sense,
AActor Target 
)
static

◆ RegisterSenseClass()

FAISenseID UAIPerceptionSystem::RegisterSenseClass ( TSubclassOf< UAISense SenseClass)

◆ RegisterSource() [1/3]

template<typename FSenseClass >
void UAIPerceptionSystem::RegisterSource ( AActor SourceActor)

Registers a source of given sense's stimuli

◆ RegisterSource() [2/3]

void UAIPerceptionSystem::RegisterSource ( AActor SourceActor)

Registers given actor as a source for all registered senses

◆ RegisterSource() [3/3]

void UAIPerceptionSystem::RegisterSource ( FAISenseID  SenseID,
AActor SourceActor 
)
protected

requests registration of a given actor as a perception data source for specified sense

◆ RegisterSourceForSenseClass()

void UAIPerceptionSystem::RegisterSourceForSenseClass ( TSubclassOf< UAISense Sense,
AActor Target 
)

◆ ReportEvent()

void UAIPerceptionSystem::ReportEvent ( UAISenseEvent PerceptionEvent)

◆ ReportPerceptionEvent()

void UAIPerceptionSystem::ReportPerceptionEvent ( UObject WorldContextObject,
UAISenseEvent PerceptionEvent 
)
static

◆ StartPlay()

void UAIPerceptionSystem::StartPlay ( )
protectedvirtual

◆ Tick()

void UAIPerceptionSystem::Tick ( float  DeltaTime)
overridevirtual

Pure virtual that must be overloaded by the inheriting class. It will be called at different times in the frame depending on the subclass.

Parameters
DeltaTimeGame time passed since the last call.

no point in sorting if no new stimuli was processed

Reimplemented from UAISubsystem.

◆ UnregisterListener()

void UAIPerceptionSystem::UnregisterListener ( UAIPerceptionComponent Listener)

◆ UnregisterSource()

void UAIPerceptionSystem::UnregisterSource ( AActor SourceActor,
const TSubclassOf< UAISense Sense = {} 
)

unregisters given actor from the list of active stimuli sources

Parameters
Senseif null will result in removing SourceActor from all the senses

◆ UpdateListener()

void UAIPerceptionSystem::UpdateListener ( UAIPerceptionComponent Listener)

Registers listener if not registered

Friends And Related Symbol Documentation

◆ UAISense

friend class UAISense
friend

◆ UAISystem

friend class UAISystem
friend

Member Data Documentation

◆ bHandlePawnNotification

uint32 UAIPerceptionSystem::bHandlePawnNotification
protected

◆ DelayedStimuli

TArray<FDelayedStimulus> UAIPerceptionSystem::DelayedStimuli
protected

◆ ListenerContainer

AIPerception::FListenerMap UAIPerceptionSystem::ListenerContainer
protected

◆ NextStimuliAgingTick

double UAIPerceptionSystem::NextStimuliAgingTick
protected

Timestamp of the next stimuli aging

◆ PerceptionAgingRate

float UAIPerceptionSystem::PerceptionAgingRate
protected

◆ RegisteredStimuliSources

TMap<const AActor*, FPerceptionStimuliSource> UAIPerceptionSystem::RegisteredStimuliSources
protected

◆ Senses

TArray<TObjectPtr<UAISense> > UAIPerceptionSystem::Senses
protected

◆ SourcesToRegister

TArray<FPerceptionSourceRegistration> UAIPerceptionSystem::SourcesToRegister
protected

◆ StimuliSourceEndPlayDelegate

FActorEndPlaySignature::FDelegate UAIPerceptionSystem::StimuliSourceEndPlayDelegate
protected

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