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

#include <NavigationSystem.h>

+ Inheritance diagram for UNavigationSystemV1:

Public Types

enum  ERegistrationResult {
  RegistrationError , RegistrationFailed_DataPendingKill , RegistrationFailed_AgentAlreadySupported , RegistrationFailed_AgentNotValid ,
  RegistrationFailed_NotSuitable , RegistrationSuccessful
}
 
enum  EOctreeUpdateMode {
  OctreeUpdate_Default = 0 , OctreeUpdate_Geometry = 1 , OctreeUpdate_Modifiers = 2 , OctreeUpdate_Refresh = 4 ,
  OctreeUpdate_ParentChain = 8
}
 
enum class  ELockRemovalRebuildAction { Rebuild , RebuildIfNotInEditor , NoRebuild }
 
- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 

Public Member Functions

NAVIGATIONSYSTEM_API UNavigationSystemV1 (const FObjectInitializer &ObjectInitializer=FObjectInitializer::Get())
 
virtual ~UNavigationSystemV1 ()=default
 
NAVIGATIONSYSTEM_API void GatherDebugLabels (TArray< FString > &InOutDebugLabels) const
 
void DebugLogInvokers (FOutputDevice &OutputDevice) const
 
NAVIGATIONSYSTEM_API void SetMaxSimultaneousTileGenerationJobsCount (int32 MaxNumberOfJobs)
 
NAVIGATIONSYSTEM_API void ResetMaxSimultaneousTileGenerationJobsCount ()
 
NAVIGATIONSYSTEM_API void RegisterNavigationInvoker (AActor *Invoker, float TileGenerationRadius=3000, float TileRemovalRadius=5000)
 
NAVIGATIONSYSTEM_API void UnregisterNavigationInvoker (AActor *Invoker)
 
NAVIGATIONSYSTEM_API void SetGeometryGatheringMode (ENavDataGatheringModeConfig NewMode)
 
NAVIGATIONSYSTEM_API bool K2_ReplaceAreaInOctreeData (const UObject *Object, TSubclassOf< UNavArea > OldArea, TSubclassOf< UNavArea > NewArea)
 
bool IsActiveTilesGenerationEnabled () const
 
 DECLARE_MULTICAST_DELEGATE_OneParam (FOnNavigationDirty, const FBox &)
 
virtual NAVIGATIONSYSTEM_API void PostInitProperties () override
 
virtual NAVIGATIONSYSTEM_API void FinishDestroy () override
 
virtual NAVIGATIONSYSTEM_API void Tick (float DeltaSeconds) override
 
UWorldGetWorld () const override
 
UCrowdManagerBaseGetCrowdManager () const
 
NAVIGATIONSYSTEM_API FPathFindingResult FindPathSync (const FNavAgentProperties &AgentProperties, FPathFindingQuery Query, EPathFindingMode::Type Mode=EPathFindingMode::Regular)
 
NAVIGATIONSYSTEM_API FPathFindingResult FindPathSync (FPathFindingQuery Query, EPathFindingMode::Type Mode=EPathFindingMode::Regular)
 
NAVIGATIONSYSTEM_API uint32 FindPathAsync (const FNavAgentProperties &AgentProperties, FPathFindingQuery Query, const FNavPathQueryDelegate &ResultDelegate, EPathFindingMode::Type Mode=EPathFindingMode::Regular)
 
NAVIGATIONSYSTEM_API void AbortAsyncFindPathRequest (uint32 AsynPathQueryID)
 
NAVIGATIONSYSTEM_API bool TestPathSync (FPathFindingQuery Query, EPathFindingMode::Type Mode=EPathFindingMode::Regular, int32 *NumVisitedNodes=NULL) const
 
NAVIGATIONSYSTEM_API bool GetRandomPoint (FNavLocation &ResultLocation, ANavigationData *NavData=NULL, FSharedConstNavQueryFilter QueryFilter=NULL)
 
NAVIGATIONSYSTEM_API bool GetRandomReachablePointInRadius (const FVector &Origin, float Radius, FNavLocation &ResultLocation, ANavigationData *NavData=NULL, FSharedConstNavQueryFilter QueryFilter=NULL) const
 
NAVIGATIONSYSTEM_API bool GetRandomPointInNavigableRadius (const FVector &Origin, float Radius, FNavLocation &ResultLocation, ANavigationData *NavData=NULL, FSharedConstNavQueryFilter QueryFilter=NULL) const
 
NAVIGATIONSYSTEM_API ENavigationQueryResult::Type GetPathCost (const FVector &PathStart, const FVector &PathEnd, FVector::FReal &PathCost, const ANavigationData *NavData=NULL, FSharedConstNavQueryFilter QueryFilter=NULL) const
 
NAVIGATIONSYSTEM_API ENavigationQueryResult::Type GetPathLength (const FVector &PathStart, const FVector &PathEnd, FVector::FReal &PathLength, const ANavigationData *NavData=NULL, FSharedConstNavQueryFilter QueryFilter=NULL) const
 
NAVIGATIONSYSTEM_API ENavigationQueryResult::Type GetPathLengthAndCost (const FVector &PathStart, const FVector &PathEnd, FVector::FReal &PathLength, FVector::FReal &PathCost, const ANavigationData *NavData=NULL, FSharedConstNavQueryFilter QueryFilter=NULL) const
 
bool ProjectPointToNavigation (const FVector &Point, FNavLocation &OutLocation, const FVector &Extent=INVALID_NAVEXTENT, const FNavAgentProperties *AgentProperties=NULL, FSharedConstNavQueryFilter QueryFilter=NULL)
 
NAVIGATIONSYSTEM_API bool ProjectPointToNavigation (const FVector &Point, FNavLocation &OutLocation, const FVector &Extent=INVALID_NAVEXTENT, const ANavigationData *NavData=NULL, FSharedConstNavQueryFilter QueryFilter=NULL) const
 
virtual NAVIGATIONSYSTEM_API ANavigationDataGetNavDataForProps (const FNavAgentProperties &AgentProperties)
 
virtual NAVIGATIONSYSTEM_API const ANavigationDataGetNavDataForProps (const FNavAgentProperties &AgentProperties) const
 
virtual NAVIGATIONSYSTEM_API ANavigationDataGetNavDataForAgentName (const FName AgentName) const
 
virtual NAVIGATIONSYSTEM_API ANavigationDataGetNavDataForProps (const FNavAgentProperties &AgentProperties, const FVector &AgentLocation, const FVector &Extent=INVALID_NAVEXTENT) const
 
NAVIGATIONSYSTEM_API ANavigationDataGetDefaultNavDataInstance (FNavigationSystem::ECreateIfMissing CreateNewIfNoneFound)
 
virtual INavigationDataInterfaceGetMainNavData () const override
 
ANavigationDataGetMainNavDataChecked () const
 
virtual NAVIGATIONSYSTEM_API void SetBuildBounds (const FBox &Bounds) override
 
virtual NAVIGATIONSYSTEM_API FBox GetNavigableWorldBounds () const override
 
virtual NAVIGATIONSYSTEM_API bool ContainsNavData (const FBox &Bounds) const override
 
virtual NAVIGATIONSYSTEM_API FBox ComputeNavDataBounds () const override
 
virtual NAVIGATIONSYSTEM_API void AddNavigationDataChunk (class ANavigationDataChunkActor &DataChunkActor) override
 
virtual NAVIGATIONSYSTEM_API void RemoveNavigationDataChunk (class ANavigationDataChunkActor &DataChunkActor) override
 
virtual NAVIGATIONSYSTEM_API void FillNavigationDataChunkActor (const FBox &QueryBounds, class ANavigationDataChunkActor &DataChunkActor, FBox &OutTilesBounds) override
 
ANavigationDataGetDefaultNavDataInstance () const
 
ANavigationDataGetAbstractNavData () const
 
virtual NAVIGATIONSYSTEM_API ANavigationDataCreateNavigationDataInstanceInLevel (const FNavDataConfig &NavConfig, ULevel *SpawnLevel)
 
NAVIGATIONSYSTEM_API FSharedNavQueryFilter CreateDefaultQueryFilterCopy () const
 
NAVIGATIONSYSTEM_API bool ShouldGeneratorRun (const FNavDataGenerator *Generator) const
 
virtual NAVIGATIONSYSTEM_API bool IsNavigationBuilt (const AWorldSettings *Settings) const override
 
virtual NAVIGATIONSYSTEM_API bool IsThereAnywhereToBuildNavigation () const
 
bool ShouldGenerateNavigationEverywhere () const
 
bool ShouldAllowClientSideNavigation () const
 
virtual bool ShouldLoadNavigationOnClient (ANavigationData *NavData=nullptr) const
 
virtual bool ShouldDiscardSubLevelNavData (ANavigationData *NavData=nullptr) const
 
NAVIGATIONSYSTEM_API FBox GetWorldBounds () const
 
NAVIGATIONSYSTEM_API FBox GetLevelBounds (ULevel *InLevel) const
 
NAVIGATIONSYSTEM_API bool IsNavigationRelevant (const AActor *TestActor) const
 
NAVIGATIONSYSTEM_API const TSet< FNavigationBounds > & GetNavigationBounds () const
 
NAVIGATIONSYSTEM_API const FNavDataConfigGetDefaultSupportedAgentConfig () const
 
const TArray< FNavDataConfig > & GetSupportedAgents () const
 
NAVIGATIONSYSTEM_API void OverrideSupportedAgents (const TArray< FNavDataConfig > &NewSupportedAgents)
 
NAVIGATIONSYSTEM_API void SetSupportedAgentsMask (const FNavAgentSelector &InSupportedAgentsMask)
 
FNavAgentSelector GetSupportedAgentsMask () const
 
virtual NAVIGATIONSYSTEM_API void ApplyWorldOffset (const FVector &InOffset, bool bWorldShift) override
 
NAVIGATIONSYSTEM_API bool IsNavigationDirty () const
 
NAVIGATIONSYSTEM_API bool CanRebuildDirtyNavigation () const
 
bool SupportsNavigationGeneration () const
 
virtual NAVIGATIONSYSTEM_API void RegisterInvoker (AActor &Invoker, float TileGenerationRadius, float TileRemovalRadius, const FNavAgentSelector &Agents, ENavigationInvokerPriority InPriority)
 
virtual NAVIGATIONSYSTEM_API void RegisterInvoker (const TWeakInterfacePtr< INavigationInvokerInterface > &Invoker, float TileGenerationRadius, float TileRemovalRadius, const FNavAgentSelector &Agents, ENavigationInvokerPriority InPriority)
 
virtual NAVIGATIONSYSTEM_API void UnregisterInvoker (AActor &Invoker)
 
virtual NAVIGATIONSYSTEM_API void UnregisterInvoker (const TWeakInterfacePtr< INavigationInvokerInterface > &Invoker)
 
const TArray< FNavigationInvokerRaw > & GetInvokerLocations () const
 
const TArray< FBox > & GetInvokersSeedBounds () const
 
virtual NAVIGATIONSYSTEM_API void UnregisterNavData (ANavigationData *NavData)
 
virtual NAVIGATIONSYSTEM_API void UnregisterUnusedNavData ()
 
virtual NAVIGATIONSYSTEM_API void RequestRegistrationDeferred (ANavigationData &NavData)
 
virtual NAVIGATIONSYSTEM_API void ReleaseInitialBuildingLock ()
 
NAVIGATIONSYSTEM_API void AddDirtyArea (const FBox &NewArea, ENavigationDirtyFlag Flags, const FName &DebugReason=NAME_None)
 
NAVIGATIONSYSTEM_API void AddDirtyArea (const FBox &NewArea, ENavigationDirtyFlag Flags, const TFunction< const TSharedPtr< const FNavigationElement >()> &ElementProviderFunc, const FName &DebugReason=NAME_None)
 
NAVIGATIONSYSTEM_API void AddDirtyAreas (const TArray< FBox > &NewAreas, ENavigationDirtyFlag Flags, const FName &DebugReason=NAME_None)
 
NAVIGATIONSYSTEM_API void AddDirtyArea (const FBox &NewArea, int32 Flags, const FName &DebugReason=NAME_None)
 
NAVIGATIONSYSTEM_API void AddDirtyArea (const FBox &NewArea, int32 Flags, const TFunction< UObject *()> &ObjectProviderFunc, const FName &DebugReason=NAME_None)
 
NAVIGATIONSYSTEM_API void AddDirtyAreas (const TArray< FBox > &NewAreas, int32 Flags, const FName &DebugReason=NAME_None)
 
NAVIGATIONSYSTEM_API bool HasDirtyAreasQueued () const
 
NAVIGATIONSYSTEM_API int32 GetNumDirtyAreas () const
 
float GetDirtyAreaWarningSizeThreshold () const
 
const FNavigationOctreeGetNavOctree () const
 
FNavigationOctreeGetMutableNavOctree ()
 
const FOctreeElementId2GetNavOctreeIdForElement (FNavigationElementHandle Element) const
 
NAVIGATIONSYSTEM_API const FOctreeElementId2GetObjectsNavOctreeId (const UObject &Object) const
 
bool HasPendingUpdateForElement (FNavigationElementHandle Element) const
 
NAVIGATIONSYSTEM_API bool HasPendingObjectNavOctreeId (UObject *Object) const
 
NAVIGATIONSYSTEM_API void RemoveObjectsNavOctreeId (const UObject &Object)
 
NAVIGATIONSYSTEM_API void RemoveNavOctreeElementId (const FOctreeElementId2 &ElementId, int32 UpdateFlags)
 
NAVIGATIONSYSTEM_API const FNavigationRelevantDataGetDataForElement (FNavigationElementHandle Element) const
 
NAVIGATIONSYSTEM_API const FNavigationRelevantDataGetDataForObject (const UObject &Object) const
 
NAVIGATIONSYSTEM_API FNavigationRelevantDataGetMutableDataForElement (FNavigationElementHandle Element)
 
NAVIGATIONSYSTEM_API FNavigationRelevantDataGetMutableDataForObject (const UObject &Object)
 
NAVIGATIONSYSTEM_API void FindElementsInNavOctree (const FBox &QueryBox, const FNavigationOctreeFilter &Filter, TArray< FNavigationOctreeElement > &Elements)
 
NAVIGATIONSYSTEM_API void UpdateNavOctreeElement (FNavigationElementHandle Handle, const TSharedRef< const FNavigationElement > &Element, int32 UpdateFlags)
 
void UpdateNavOctreeElement (UObject *ElementOwner, INavRelevantInterface *ElementInterface, int32 UpdateFlags)
 
NAVIGATIONSYSTEM_API void UpdateNavOctreeParentChain (UObject *ElementOwner, bool bSkipElementOwnerUpdate=false)
 
NAVIGATIONSYSTEM_API bool UpdateNavOctreeElementBounds (FNavigationElementHandle Handle, const FBox &NewBounds, TConstArrayView< FBox > DirtyAreas)
 
NAVIGATIONSYSTEM_API bool UpdateNavOctreeElementBounds (UObject &Object, const FBox &NewBounds, TConstArrayView< FBox > DirtyAreas)
 
NAVIGATIONSYSTEM_API bool ReplaceAreaInOctreeData (FNavigationElementHandle Handle, TSubclassOf< UNavArea > OldArea, TSubclassOf< UNavArea > NewArea, bool bReplaceChildClasses=false)
 
NAVIGATIONSYSTEM_API bool ReplaceAreaInOctreeData (const UObject &Object, TSubclassOf< UNavArea > OldArea, TSubclassOf< UNavArea > NewArea, bool bReplaceChildClasses=false)
 
virtual NAVIGATIONSYSTEM_API void RegisterCustomLink (INavLinkCustomInterface &CustomLink)
 
NAVIGATIONSYSTEM_API void UnregisterCustomLink (INavLinkCustomInterface &CustomLink)
 
int32 GetNumCustomLinks () const
 
INavLinkCustomInterfaceGetCustomLink (uint32 UniqueLinkId) const
 
NAVIGATIONSYSTEM_API INavLinkCustomInterfaceGetCustomLink (FNavLinkId UniqueLinkId) const
 
NAVIGATIONSYSTEM_API void UpdateCustomLink (const INavLinkCustomInterface *CustomLink)
 
NAVIGATIONSYSTEM_API int32 GetSupportedAgentIndex (const ANavigationData *NavData) const
 
NAVIGATIONSYSTEM_API int32 GetSupportedAgentIndex (const FNavAgentProperties &NavAgent) const
 
NAVIGATIONSYSTEM_API void DescribeFilterFlags (UEnum *FlagsEnum) const
 
NAVIGATIONSYSTEM_API void DescribeFilterFlags (const TArray< FString > &FlagsDesc) const
 
NAVIGATIONSYSTEM_API void ResetCachedFilter (TSubclassOf< UNavigationQueryFilter > FilterClass)
 
virtual NAVIGATIONSYSTEM_API void Build ()
 
virtual NAVIGATIONSYSTEM_API void CancelBuild ()
 
NAVIGATIONSYSTEM_API void OnPIEStart ()
 
NAVIGATIONSYSTEM_API void OnPIEEnd ()
 
bool IsNavigationBuildingLocked (uint8 Flags=~0) const
 
bool IsNavigationBuildingPermanentlyLocked () const
 
bool IsNavigationOctreeLocked () const
 
NAVIGATIONSYSTEM_API void OnNavigationBoundsUpdated (ANavMeshBoundsVolume *NavVolume)
 
virtual NAVIGATIONSYSTEM_API void OnNavigationBoundsAdded (ANavMeshBoundsVolume *NavVolume)
 
virtual NAVIGATIONSYSTEM_API void OnNavigationBoundsRemoved (ANavMeshBoundsVolume *NavVolume)
 
NAVIGATIONSYSTEM_API bool IsNavigationBuildInProgress ()
 
virtual NAVIGATIONSYSTEM_API void OnNavigationGenerationFinished (ANavigationData &NavData)
 
NAVIGATIONSYSTEM_API int32 GetNumRemainingBuildTasks () const
 
NAVIGATIONSYSTEM_API int32 GetNumRunningBuildTasks () const
 
virtual NAVIGATIONSYSTEM_API void CleanUp (const FNavigationSystem::ECleanupMode Mode=FNavigationSystem::ECleanupMode::CleanupUnsafe) override
 
virtual NAVIGATIONSYSTEM_API void OnInitializeActors () override
 
virtual NAVIGATIONSYSTEM_API void OnWorldInitDone (FNavigationSystemRunMode Mode)
 
virtual bool IsWorldInitDone () const override
 
bool IsInitialized () const
 
FNavigationSystemRunMode GetRunMode () const
 
NAVIGATIONSYSTEM_API void InitializeLevelCollisions ()
 
NAVIGATIONSYSTEM_API void AddNavigationBuildLock (uint8 Flags)
 
NAVIGATIONSYSTEM_API void RemoveNavigationBuildLock (uint8 Flags, const ELockRemovalRebuildAction RebuildAction=ELockRemovalRebuildAction::Rebuild)
 
NAVIGATIONSYSTEM_API void SetNavigationOctreeLock (bool bLock)
 
virtual bool GetIsAutoUpdateEnabled () const
 
bool IsSetUpForLazyGeometryExporting () const
 
virtual NAVIGATIONSYSTEM_API void InitializeForWorld (UWorld &World, FNavigationSystemRunMode Mode) override
 
NAVIGATIONSYSTEM_API void GetNavAgentPropertiesArray (TArray< FNavAgentProperties > &OutNavAgentProperties) const
 
virtual NAVIGATIONSYSTEM_API bool ShouldCreateNavigationSystemInstance (const UWorld *World) const override
 
NAVIGATIONSYSTEM_API bool HandleCycleNavDrawnCommand (const TCHAR *Cmd, FOutputDevice &Ar)
 
NAVIGATIONSYSTEM_API bool HandleCountNavMemCommand ()
 
NAVIGATIONSYSTEM_API void CycleNavigationDataDrawn ()
 
FNavRegenTimeSliceManagerGetMutableNavRegenTimeSliceManager ()
 
FNavigationSystemRunMode GetOperationMode () const
 
NAVIGATIONSYSTEM_API void DemandLazyDataGathering (FNavigationRelevantData &ElementData)
 
NAVIGATIONSYSTEM_API void VerifyNavigationRenderingComponents (const bool bShow)
 
virtual NAVIGATIONSYSTEM_API int GetNavigationBoundsForNavData (const ANavigationData &NavData, TArray< FBox > &OutBounds, ULevel *InLevel=nullptr) const
 
virtual NAVIGATIONSYSTEM_API void Configure (const UNavigationSystemConfig &Config) override
 
virtual NAVIGATIONSYSTEM_API void AppendConfig (const UNavigationSystemConfig &NewConfig) override
 
NAVIGATIONSYSTEM_API void GetOnScreenMessages (TMultiMap< FCoreDelegates::EOnScreenMessageSeverity, FText > &OutMessages)
 
- Public Member Functions inherited from UNavigationSystemBase
virtual ~UNavigationSystemBase ()
 
- 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 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 COREUOBJECT_API void BeginDestroy ()
 
virtual bool IsReadyForFinishDestroy ()
 
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)
 

Static Public Member Functions

static NAVIGATIONSYSTEM_API UNavigationSystemV1GetNavigationSystem (UObject *WorldContextObject)
 
static NAVIGATIONSYSTEM_API bool K2_ProjectPointToNavigation (UObject *WorldContextObject, const FVector &Point, FVector &ProjectedLocation, ANavigationData *NavData, TSubclassOf< UNavigationQueryFilter > FilterClass, const FVector QueryExtent=FVector::ZeroVector)
 
static NAVIGATIONSYSTEM_API bool K2_GetRandomReachablePointInRadius (UObject *WorldContextObject, const FVector &Origin, FVector &RandomLocation, float Radius, ANavigationData *NavData=NULL, TSubclassOf< UNavigationQueryFilter > FilterClass={})
 
static NAVIGATIONSYSTEM_API bool K2_GetRandomLocationInNavigableRadius (UObject *WorldContextObject, const FVector &Origin, FVector &RandomLocation, float Radius, ANavigationData *NavData=NULL, TSubclassOf< UNavigationQueryFilter > FilterClass={})
 
static NAVIGATIONSYSTEM_API ENavigationQueryResult::Type GetPathCost (UObject *WorldContextObject, const FVector &PathStart, const FVector &PathEnd, double &PathCost, ANavigationData *NavData=NULL, TSubclassOf< UNavigationQueryFilter > FilterClass={})
 
static NAVIGATIONSYSTEM_API ENavigationQueryResult::Type GetPathLength (UObject *WorldContextObject, const FVector &PathStart, const FVector &PathEnd, double &PathLength, ANavigationData *NavData=NULL, TSubclassOf< UNavigationQueryFilter > FilterClass={})
 
static NAVIGATIONSYSTEM_API bool IsNavigationBeingBuilt (UObject *WorldContextObject)
 
static NAVIGATIONSYSTEM_API bool IsNavigationBeingBuiltOrLocked (UObject *WorldContextObject)
 
static NAVIGATIONSYSTEM_API UNavigationPathFindPathToLocationSynchronously (UObject *WorldContextObject, const FVector &PathStart, const FVector &PathEnd, AActor *PathfindingContext=NULL, TSubclassOf< UNavigationQueryFilter > FilterClass={})
 
static NAVIGATIONSYSTEM_API UNavigationPathFindPathToActorSynchronously (UObject *WorldContextObject, const FVector &PathStart, AActor *GoalActor, float TetherDistance=50.f, AActor *PathfindingContext=NULL, TSubclassOf< UNavigationQueryFilter > FilterClass={})
 
static NAVIGATIONSYSTEM_API bool NavigationRaycast (UObject *WorldContextObject, const FVector &RayStart, const FVector &RayEnd, FVector &HitLocation, TSubclassOf< UNavigationQueryFilter > FilterClass={}, AController *Querier=NULL)
 
static NAVIGATIONSYSTEM_API bool NavigationRaycastWithAdditionalResults (UObject *WorldContextObject, const FVector &RayStart, const FVector &RayEnd, FVector &HitLocation, FNavigationRaycastAdditionalResults *AdditionalResults, TSubclassOf< UNavigationQueryFilter > FilterClass={}, AController *Querier=NULL)
 
static NAVIGATIONSYSTEM_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static NAVIGATIONSYSTEM_API const FNavDataConfigGetDefaultSupportedAgent ()
 
static NAVIGATIONSYSTEM_API const FNavDataConfigGetBiggestSupportedAgent (const UWorld *World)
 
static NAVIGATIONSYSTEM_API bool DoesPathIntersectBox (const FNavigationPath *Path, const FBox &Box, uint32 StartingIndex=0, FVector *AgentExtent=NULL)
 
static NAVIGATIONSYSTEM_API bool DoesPathIntersectBox (const FNavigationPath *Path, const FBox &Box, const FVector &AgentLocation, uint32 StartingIndex=0, FVector *AgentExtent=NULL)
 
static NAVIGATIONSYSTEM_API void RegisterNavigationInvoker (AActor &Invoker, float TileGenerationRadius, float TileRemovalRadius, const FNavAgentSelector &Agents=FNavAgentSelector(), ENavigationInvokerPriority Priority=ENavigationInvokerPriority::Default)
 
static NAVIGATIONSYSTEM_API void UnregisterNavigationInvoker (AActor &Invoker)
 
static NAVIGATIONSYSTEM_API bool SupportsDynamicChanges (UWorld *World)
 
static NAVIGATIONSYSTEM_API FNavigationElementHandle AddNavigationElement (UWorld *World, FNavigationElement &&Element)
 
static NAVIGATIONSYSTEM_API void RemoveNavigationElement (UWorld *World, FNavigationElementHandle ElementHandle)
 
static NAVIGATIONSYSTEM_API void OnNavigationElementUpdated (UWorld *World, FNavigationElementHandle ElementHandle, FNavigationElement &&Element)
 
static NAVIGATIONSYSTEM_API void OnNavRelevantObjectRegistered (UObject &Object)
 
static NAVIGATIONSYSTEM_API void UpdateNavRelevantObjectInNavOctree (UObject &Object)
 
static NAVIGATIONSYSTEM_API void OnNavRelevantObjectUnregistered (UObject &Object)
 
static NAVIGATIONSYSTEM_API void OnComponentRegistered (UActorComponent *Comp)
 
static NAVIGATIONSYSTEM_API void OnComponentUnregistered (UActorComponent *Comp)
 
static NAVIGATIONSYSTEM_API void RegisterComponent (UActorComponent *Comp)
 
static NAVIGATIONSYSTEM_API void UnregisterComponent (UActorComponent *Comp)
 
static NAVIGATIONSYSTEM_API void OnActorRegistered (AActor *Actor)
 
static NAVIGATIONSYSTEM_API void OnActorUnregistered (AActor *Actor)
 
static NAVIGATIONSYSTEM_API void UpdateActorInNavOctree (AActor &Actor)
 
static NAVIGATIONSYSTEM_API void UpdateComponentInNavOctree (UActorComponent &Comp)
 
static NAVIGATIONSYSTEM_API void UpdateActorAndComponentsInNavOctree (AActor &Actor, bool bUpdateAttachedActors=true)
 
static NAVIGATIONSYSTEM_API void UpdateNavOctreeAfterMove (USceneComponent *Comp)
 
static NAVIGATIONSYSTEM_API void ClearNavOctreeAll (AActor *Actor)
 
static NAVIGATIONSYSTEM_API void UpdateNavOctreeBounds (AActor *Actor)
 
static NAVIGATIONSYSTEM_API uint32 HashObject (const UObject &Object)
 
static NAVIGATIONSYSTEM_API void RequestCustomLinkRegistering (INavLinkCustomInterface &CustomLink, UObject *OwnerOb)
 
static NAVIGATIONSYSTEM_API void RequestCustomLinkUnregistering (INavLinkCustomInterface &CustomLink, UObject *ObjectOb)
 
static NAVIGATIONSYSTEM_API FBox ComputeCustomLinkBounds (const INavLinkCustomInterface &CustomLink)
 
static NAVIGATIONSYSTEM_API void RequestAreaRegistering (UClass *NavAreaClass)
 
static NAVIGATIONSYSTEM_API void RequestAreaUnregistering (UClass *NavAreaClass)
 
static NAVIGATIONSYSTEM_API UNavigationSystemV1CreateNavigationSystem (UWorld *WorldOwner)
 
static NAVIGATIONSYSTEM_API UNavigationSystemV1GetCurrent (UWorld *World)
 
static NAVIGATIONSYSTEM_API UNavigationSystemV1GetCurrent (UObject *WorldContextObject)
 
static bool ShouldUpdateNavOctreeOnComponentChange ()
 
static bool IsNavigationSystemStatic ()
 
static NAVIGATIONSYSTEM_API void ConfigureAsStatic (bool bEnableStatic=true)
 
static NAVIGATIONSYSTEM_API void SetUpdateNavOctreeOnComponentChange (bool bNewUpdateOnComponentChange)
 
static NAVIGATIONSYSTEM_API INavigationDataInterfaceGetNavDataForActor (const AActor &Actor)
 
static NAVIGATIONSYSTEM_API bool K2_GetRandomPointInNavigableRadius (UObject *WorldContextObject, const FVector &Origin, FVector &RandomLocation, float Radius, ANavigationData *NavData=NULL, TSubclassOf< UNavigationQueryFilter > FilterClass={})
 
- Static Public Member Functions inherited from UNavigationSystemBase
static ENGINE_API FNavigationSystem::FOnNavigationInitSignature & OnNavigationInitStartStaticDelegate ()
 
static ENGINE_API FNavigationSystem::FOnNavigationInitSignature & OnNavigationInitDoneStaticDelegate ()
 
static ENGINE_API FNavigationSystem::FOnNavAreaGenericEvent & OnNavAreaRegisteredDelegate ()
 
static ENGINE_API FNavigationSystem::FOnNavAreaGenericEvent & OnNavAreaUnregisteredDelegate ()
 
- 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)
 

Public Attributes

TObjectPtr< ANavigationDataMainNavData
 
TObjectPtr< ANavigationDataAbstractNavData
 
uint32 bInitialBuildingLocked:1
 
uint32 bWholeWorldNavigable:1
 
uint32 bSkipAgentHeightCheckWhenPickingNavData:1
 
int32 GeometryExportTriangleCountWarningThreshold = 200000
 
FBox BuildBounds
 
TArray< TObjectPtr< ANavigationData > > NavDataSet
 
TArray< TObjectPtr< ANavigationData > > NavDataRegistrationQueue
 
TArray< FNavigationBoundsUpdateRequestPendingNavBoundsUpdates
 
FOnNavDataGenericEvent OnNavDataRegisteredEvent
 
FOnNavDataGenericEvent OnNavigationGenerationFinishedDelegate
 
FOnNavigationInitDone OnNavigationInitDone
 
- Public Attributes inherited from UNavigationSystemBase
virtual void virtual Tick(float DeltaSeconds) PURE_VIRTUAL(UNavigationSystemBase void virtual CleanUp(const FNavigationSystem::ECleanupMode Mode) PURE_VIRTUAL(UNavigationSystemBase void virtual Configure(const UNavigationSystemConfig &Config) PURE_VIRTUAL(UNavigationSystemBase void virtual AppendConfig(const UNavigationSystemConfig &NewConfig) PURE_VIRTUAL(UNavigationSystemBase void OnInitializeActors ()
 
virtual void virtual ApplyWorldOffset(const FVector &InOffset, bool bWorldShift) PURE_VIRTUAL(UNavigationSystemBase void virtual InitializeForWorld(UWorld &World, FNavigationSystemRunMode Mode) PURE_VIRTUAL(UNavigationSystemBase INavigationDataInterfaceGetMainNavData () const
 
virtual void virtual SetBuildBounds(const FBox &Bounds) PURE_VIRTUAL(UNavigationSystemBase FBox GetNavigableWorldBounds () const PURE_VIRTUAL(UNavigationSystemBase
 
virtual bool ContainsNavData (const FBox &Bounds) const PURE_VIRTUAL(UNavigationSystemBase
 
virtual FBox ComputeNavDataBounds () const PURE_VIRTUAL(UNavigationSystemBase
 
virtual bool IsWorldInitDone () const PURE_VIRTUAL(UNavigationSystemBase
 
virtual bool ShouldCreateNavigationSystemInstance (const UWorld *World) const PURE_VIRTUAL(UNavigationSystemBase
 

Static Public Attributes

static NAVIGATIONSYSTEM_API FOnNavigationDirty NavigationDirtyEvent
 

Protected Member Functions

virtual NAVIGATIONSYSTEM_API void UpdateNavDataActiveTiles ()
 
NAVIGATIONSYSTEM_API void CalcTimeSlicedUpdateData (TArray< double > &OutCurrentTimeSlicedBuildTaskDurations, TArray< bool > &OutIsTimeSlicingArray, bool &bOutAnyNonTimeSlicedGenerators, TArray< int32, TInlineAllocator< 8 > > &OutNumTimeSlicedRemainingBuildTasksArray)
 
virtual NAVIGATIONSYSTEM_API void CreateCrowdManager ()
 
NAVIGATIONSYSTEM_API void SetSupportedAgentsNavigationClass (int32 AgentIndex, TSubclassOf< ANavigationData > NavigationDataClass)
 
NAVIGATIONSYSTEM_API void ApplySupportedAgentsFilter ()
 
NAVIGATIONSYSTEM_API void RegisterNavigationDataInstances ()
 
virtual NAVIGATIONSYSTEM_API bool ConditionalPopulateNavOctree ()
 
virtual NAVIGATIONSYSTEM_API void ConstructNavOctree ()
 
virtual NAVIGATIONSYSTEM_API void ProcessRegistrationCandidates ()
 
NAVIGATIONSYSTEM_API void ProcessCustomLinkPendingRegistration ()
 
virtual NAVIGATIONSYSTEM_API void PerformNavigationBoundsUpdate (const TArray< FNavigationBoundsUpdateRequest > &UpdateRequests)
 
NAVIGATIONSYSTEM_API void AddNavigationBounds (const FNavigationBounds &NewBounds)
 
virtual NAVIGATIONSYSTEM_API void GatherNavigationBounds ()
 
virtual NAVIGATIONSYSTEM_API void GetInvokerSeedLocations (const UWorld &InWorld, TArray< FVector, TInlineAllocator< 32 > > &OutSeedLocations)
 
NAVIGATIONSYSTEM_API ANavigationDataGetNavDataWithID (const uint16 NavDataID) const
 
NAVIGATIONSYSTEM_API TSharedPtr< const FNavigationElementGetNavigationElementForUObject (const UObject *) const
 
NAVIGATIONSYSTEM_API FNavigationElementHandle GetNavigationElementHandleForUObject (const UObject *) const
 
NAVIGATIONSYSTEM_API void RegisterNavRelevantObjectInternal (const INavRelevantInterface &NavRelevantObject, const UObject &Object)
 
NAVIGATIONSYSTEM_API void UnregisterNavRelevantObjectInternal (const UObject &Object)
 
NAVIGATIONSYSTEM_API void RemoveFromNavOctree (const FOctreeElementId2 &ElementId, int32 UpdateFlags)
 
virtual NAVIGATIONSYSTEM_API void DoInitialSetup ()
 
virtual NAVIGATIONSYSTEM_API void UpdateAbstractNavData ()
 
virtual NAVIGATIONSYSTEM_API void AddLevelToOctree (ULevel &Level)
 
virtual NAVIGATIONSYSTEM_API void OnBeginTearingDown (UWorld *World)
 
NAVIGATIONSYSTEM_API void OnPostLoadMap (UWorld *LoadedWorld)
 
NAVIGATIONSYSTEM_API void OnNavigationDirtied (const FBox &Bounds)
 
virtual NAVIGATIONSYSTEM_API void OnReloadComplete (EReloadCompleteReason Reason)
 
virtual NAVIGATIONSYSTEM_API ERegistrationResult RegisterNavData (ANavigationData *NavData)
 
NAVIGATIONSYSTEM_API void RegisterNavAreaClass (UClass *NavAreaClass)
 
NAVIGATIONSYSTEM_API void UnregisterNavAreaClass (UClass *NavAreaClass)
 
NAVIGATIONSYSTEM_API void OnNavigationAreaEvent (UClass *AreaClass, ENavAreaEvent::Type Event)
 
NAVIGATIONSYSTEM_API FSetElementId RegisterNavigationElementWithNavOctree (const TSharedRef< const FNavigationElement > &Element, int32 UpdateFlags)
 
NAVIGATIONSYSTEM_API FSetElementId RegisterNavOctreeElement (UObject *ElementOwner, INavRelevantInterface *ElementInterface, int32 UpdateFlags)
 
NAVIGATIONSYSTEM_API void UnregisterNavigationElementWithOctree (const TSharedRef< const FNavigationElement > &Element, int32 UpdateFlags)
 
NAVIGATIONSYSTEM_API void UnregisterNavOctreeElement (UObject *ElementOwner, INavRelevantInterface *ElementInterface, int32 UpdateFlags)
 
NAVIGATIONSYSTEM_API bool GetNavOctreeElementData (FNavigationElementHandle Element, ENavigationDirtyFlag &OutDirtyFlags, FBox &OutDirtyBounds)
 
NAVIGATIONSYSTEM_API bool GetNavOctreeElementData (const UObject &NodeOwner, int32 &DirtyFlags, FBox &DirtyBounds)
 
NAVIGATIONSYSTEM_API void AddElementToNavOctree (const FNavigationDirtyElement &DirtyElement)
 
NAVIGATIONSYSTEM_API void SetCrowdManager (UCrowdManagerBase *NewCrowdManager)
 
NAVIGATIONSYSTEM_API void AddLevelCollisionToOctree (ULevel *Level)
 
NAVIGATIONSYSTEM_API void RemoveLevelCollisionFromOctree (ULevel *Level)
 
virtual NAVIGATIONSYSTEM_API void SpawnMissingNavigationData ()
 
NAVIGATIONSYSTEM_API uint8 FillInstantiatedDataMask (TBitArray<> &OutInstantiatedMask, ULevel *InLevel=nullptr)
 
NAVIGATIONSYSTEM_API void SpawnMissingNavigationDataInLevel (const TBitArray<> &InInstantiatedMask, ULevel *InLevel=nullptr)
 
virtual NAVIGATIONSYSTEM_API void RebuildDirtyAreas (float DeltaSeconds)
 
NAVIGATIONSYSTEM_API void AddNavigationBoundsUpdateRequest (const FNavigationBoundsUpdateRequest &UpdateRequest)
 
virtual NAVIGATIONSYSTEM_API void RebuildAll (bool bIsLoadTime=false)
 
NAVIGATIONSYSTEM_API void OnLevelAddedToWorld (ULevel *InLevel, UWorld *InWorld)
 
NAVIGATIONSYSTEM_API void OnLevelRemovedFromWorld (ULevel *InLevel, UWorld *InWorld)
 
void OnWorldPostActorTick (UWorld *World, ELevelTick TickType, float DeltaTime)
 
NAVIGATIONSYSTEM_API void AddAsyncQuery (const FAsyncPathFindingQuery &Query)
 
NAVIGATIONSYSTEM_API void TriggerAsyncQueries (TArray< FAsyncPathFindingQuery > &PathFindingQueries)
 
NAVIGATIONSYSTEM_API void PerformAsyncQueries (TArray< FAsyncPathFindingQuery > PathFindingQueries)
 
NAVIGATIONSYSTEM_API void DispatchAsyncQueriesResults (const TArray< FAsyncPathFindingQuery > &PathFindingQueries) const
 
NAVIGATIONSYSTEM_API void PostponeAsyncQueries ()
 
virtual NAVIGATIONSYSTEM_API void DestroyNavOctree ()
 
NAVIGATIONSYSTEM_API bool RequiresNavOctree () const
 
NAVIGATIONSYSTEM_API ERuntimeGenerationType GetRuntimeGenerationType () const
 
NAVIGATIONSYSTEM_API void LogNavDataRegistrationResult (ERegistrationResult)
 
NAVIGATIONSYSTEM_API bool IsAllowedToRebuild () const
 
NAVIGATIONSYSTEM_API void OnGenerateNavigationOnlyAroundNavigationInvokersChanged ()
 
- 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)
 

Static Protected Member Functions

static NAVIGATIONSYSTEM_API void RegisterComponentToNavOctree (UActorComponent *Comp)
 
static NAVIGATIONSYSTEM_API void UnregisterComponentToNavOctree (UActorComponent *Comp)
 
static NAVIGATIONSYSTEM_API void RegisterNavRelevantObjectStatic (const INavRelevantInterface &NavRelevantObject, const UObject &Object)
 
static NAVIGATIONSYSTEM_API void UnregisterNavRelevantObjectStatic (const UObject &Object)
 
static NAVIGATIONSYSTEM_API void UpdateNavRelevantObjectInNavOctreeStatic (const INavRelevantInterface &InNavRelevantObject, const UObject &InObject, UNavigationSystemV1 *InNavigationSystem, TFunctionRef< void(UNavigationSystemV1 &, const TSharedRef< const FNavigationElement > &)> InCallback)
 
static NAVIGATIONSYSTEM_API int32 GetAllAttachedActors (const AActor &RootActor, TArray< AActor * > &OutAttachedActors)
 
static NAVIGATIONSYSTEM_API void UpdateAttachedActorsInNavOctree (AActor &RootActor)
 
- Static Protected Member Functions inherited from UNavigationSystemBase
static ENGINE_API void SetCoordTransform (const ENavigationCoordSystem::Type FromCoordType, const ENavigationCoordSystem::Type ToCoordType, const FTransform &Transform, bool bAddInverse=true)
 
static ENGINE_API void SetWantsComponentChangeNotifies (const bool bEnable)
 
static ENGINE_API void SetDefaultWalkableArea (TSubclassOf< UNavAreaBase > InAreaClass)
 
static ENGINE_API void SetDefaultObstacleArea (TSubclassOf< UNavAreaBase > InAreaClass)
 
static ENGINE_API void ResetEventDelegates ()
 
static ENGINE_API FNavigationSystem::FSupportsDynamicChangesSignature & GetSupportsDynamicChangesDelegate ()
 
static ENGINE_API FNavigationSystem::FAddNavigationElementSignature & GetAddNavigationElementDelegate ()
 
static ENGINE_API FNavigationSystem::FUpdateNavigationElementSignature & GetUpdateNavigationElementDelegate ()
 
static ENGINE_API FNavigationSystem::FRemoveNavigationElementSignature & GetRemoveNavigationElementDelegate ()
 
static ENGINE_API FNavigationSystem::FUpdateNavigationElementBoundsSignature & GetUpdateNavigationElementBoundsDelegate ()
 
static ENGINE_API FNavigationSystem::FObjectBasedSignature & RegisterNavRelevantObjectDelegate ()
 
static ENGINE_API FNavigationSystem::FObjectBasedSignature & UpdateNavRelevantObjectDelegate ()
 
static ENGINE_API FNavigationSystem::FObjectBasedSignature & UnregisterNavRelevantObjectDelegate ()
 
static ENGINE_API FNavigationSystem::FObjectBoundsChangedSignature & OnObjectBoundsChangedDelegate ()
 
static ENGINE_API FNavigationSystem::FActorBasedSignature & UpdateActorDataDelegate ()
 
static ENGINE_API FNavigationSystem::FActorComponentBasedSignature & UpdateComponentDataDelegate ()
 
static ENGINE_API FNavigationSystem::FSceneComponentBasedSignature & UpdateComponentDataAfterMoveDelegate ()
 
static ENGINE_API FNavigationSystem::FActorBasedSignature & OnActorBoundsChangedDelegate ()
 
static ENGINE_API FNavigationSystem::FActorBasedSignature & OnPostEditActorMoveDelegate ()
 
static ENGINE_API FNavigationSystem::FSceneComponentBasedSignature & OnComponentTransformChangedDelegate ()
 
static ENGINE_API FNavigationSystem::FActorBasedSignature & OnActorRegisteredDelegate ()
 
static ENGINE_API FNavigationSystem::FActorBasedSignature & OnActorUnregisteredDelegate ()
 
static ENGINE_API FNavigationSystem::FActorComponentBasedSignature & OnComponentRegisteredDelegate ()
 
static ENGINE_API FNavigationSystem::FActorComponentBasedSignature & OnComponentUnregisteredDelegate ()
 
static ENGINE_API FNavigationSystem::FActorComponentBasedSignature & RegisterComponentDelegate ()
 
static ENGINE_API FNavigationSystem::FActorComponentBasedSignature & UnregisterComponentDelegate ()
 
static ENGINE_API FNavigationSystem::FActorBasedSignature & RemoveActorDataDelegate ()
 
static ENGINE_API FNavigationSystem::FBoolActorComponentBasedSignature & HasComponentDataDelegate ()
 
static ENGINE_API FNavigationSystem::FNavDataConfigBasedSignature & GetDefaultSupportedAgentDelegate ()
 
static ENGINE_API FNavigationSystem::FNavDataConfigAndWorldSignature & GetBiggestSupportedAgentDelegate ()
 
static ENGINE_API FNavigationSystem::FActorBooleBasedSignature & UpdateActorAndComponentDataDelegate ()
 
static ENGINE_API FNavigationSystem::FNavDataForActorSignature & GetNavDataForActorDelegate ()
 
static ENGINE_API FNavigationSystem::FNavDataClassFetchSignature & GetDefaultNavDataClassDelegate ()
 
static ENGINE_API FNavigationSystem::FWorldBoolBasedSignature & VerifyNavigationRenderingComponentsDelegate ()
 
static ENGINE_API FNavigationSystem::FWorldBasedSignature & BuildDelegate ()
 
static PRAGMA_DISABLE_DEPRECATION_WARNINGS ENGINE_API FNavigationSystem::FComponentBoundsChangeSignature & OnComponentBoundsChangedDelegate ()
 

Protected Attributes

FName DefaultAgentName
 
TSoftClassPtr< UCrowdManagerBaseCrowdManagerClass
 
uint32 bAutoCreateNavigationData:1
 
uint32 bSpawnNavDataInNavBoundsLevel:1
 
uint32 bAllowClientSideNavigation:1
 
uint32 bShouldDiscardSubLevelNavData:1
 
uint32 bTickWhilePaused:1
 
uint32 bSupportRebuilding: 1
 
uint32 bGenerateNavigationOnlyAroundNavigationInvokers:1
 
float ActiveTilesUpdateInterval
 
double InvokersMaximumDistanceFromSeed = -1
 
ENavDataGatheringModeConfig DataGatheringMode
 
float DirtyAreaWarningSizeThreshold
 
float GatheringNavModifiersWarningLimitTime
 
TArray< FNavDataConfigSupportedAgents
 
FNavAgentSelector SupportedAgentsMask
 
TSet< FNavigationBoundsRegisteredNavBounds
 
FNavigationSystemRunMode OperationMode
 
TArray< FAsyncPathFindingQueryAsyncPathFindingQueries
 
TArray< FAsyncPathFindingQueryAsyncPathFindingCompletedQueries
 
FGraphEventRef AsyncPathFindingTask
 
TAtomic< boolbAbortAsyncQueriesRequested
 
FCriticalSection NavDataRegistration
 
TMap< FNavAgentProperties, TWeakObjectPtr< ANavigationData > > AgentToNavDataMap
 
FNavigationOctreeController DefaultOctreeController
 
TMap< FNavLinkId, FNavigationSystem::FCustomLinkOwnerInfoCustomNavLinksMap
 
FNavigationDirtyAreasController DefaultDirtyAreasController
 
TObjectPtr< UNavigationObjectRepositoryRepository = nullptr
 
FCriticalSection NavDataRegistrationSection
 
uint8 NavBuildingLockFlags
 
uint8 InitialNavBuildingLockFlags
 
uint8 bInitialSetupHasBeenPerformed: 1
 
uint8 bInitialLevelsAdded: 1
 
uint8 bWorldInitDone: 1
 
uint8 bCleanUpDone: 1
 
uint8 bAsyncBuildPaused: 1
 
FBox NavigableWorldBounds
 
int32 CurrentlyDrawnNavDataIndex
 
TSet< TObjectPtr< const UClass > > NavAreaClasses
 
FNavRegenTimeSliceManager NavRegenTimeSliceManager
 
FDelegateHandle ReloadCompleteDelegateHandle
 

Static Protected Attributes

static NAVIGATIONSYSTEM_API FNavigationSystemExec ExecHandler
 
static NAVIGATIONSYSTEM_API bool bNavigationAutoUpdateEnabled = true
 
static NAVIGATIONSYSTEM_API bool bUpdateNavOctreeOnComponentChange = true
 
static NAVIGATIONSYSTEM_API bool bStaticRuntimeNavigation = false
 
static NAVIGATIONSYSTEM_API bool bIsPIEActive = false
 

Member Enumeration Documentation

◆ ELockRemovalRebuildAction

Enumerator
Rebuild 
RebuildIfNotInEditor 
NoRebuild 

◆ EOctreeUpdateMode

Enumerator
OctreeUpdate_Default 
OctreeUpdate_Geometry 
OctreeUpdate_Modifiers 
OctreeUpdate_Refresh 
OctreeUpdate_ParentChain 

◆ ERegistrationResult

Enumerator
RegistrationError 
RegistrationFailed_DataPendingKill 
RegistrationFailed_AgentAlreadySupported 
RegistrationFailed_AgentNotValid 
RegistrationFailed_NotSuitable 
RegistrationSuccessful 

Constructor & Destructor Documentation

◆ UNavigationSystemV1()

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

◆ ~UNavigationSystemV1()

virtual UNavigationSystemV1::~UNavigationSystemV1 ( )
virtualdefault

Member Function Documentation

◆ AbortAsyncFindPathRequest()

void UNavigationSystemV1::AbortAsyncFindPathRequest ( uint32  AsynPathQueryID)

Removes query indicated by given ID from queue of path finding requests to process.

◆ AddAsyncQuery()

void UNavigationSystemV1::AddAsyncQuery ( const FAsyncPathFindingQuery Query)
protected

Adds given request to requests queue. Note it's to be called only on game thread only

◆ AddDirtyArea() [1/4]

void UNavigationSystemV1::AddDirtyArea ( const FBox NewArea,
ENavigationDirtyFlag  Flags,
const FName DebugReason = NAME_None 
)

◆ AddDirtyArea() [2/4]

void UNavigationSystemV1::AddDirtyArea ( const FBox NewArea,
ENavigationDirtyFlag  Flags,
const TFunction< const TSharedPtr< const FNavigationElement >()> &  ElementProviderFunc,
const FName DebugReason = NAME_None 
)

◆ AddDirtyArea() [3/4]

void UNavigationSystemV1::AddDirtyArea ( const FBox NewArea,
int32  Flags,
const FName DebugReason = NAME_None 
)

◆ AddDirtyArea() [4/4]

void UNavigationSystemV1::AddDirtyArea ( const FBox NewArea,
int32  Flags,
const TFunction< UObject *()> &  ObjectProviderFunc,
const FName DebugReason = NAME_None 
)

◆ AddDirtyAreas() [1/2]

void UNavigationSystemV1::AddDirtyAreas ( const TArray< FBox > &  NewAreas,
ENavigationDirtyFlag  Flags,
const FName DebugReason = NAME_None 
)

◆ AddDirtyAreas() [2/2]

void UNavigationSystemV1::AddDirtyAreas ( const TArray< FBox > &  NewAreas,
int32  Flags,
const FName DebugReason = NAME_None 
)

◆ AddElementToNavOctree()

void UNavigationSystemV1::AddElementToNavOctree ( const FNavigationDirtyElement DirtyElement)
protected

Adds given element to NavOctree. No check for owner's validity are performed, nor its presence in NavOctree - function assumes callee responsibility in this regard

◆ AddLevelCollisionToOctree()

void UNavigationSystemV1::AddLevelCollisionToOctree ( ULevel Level)
protected

Add BSP collision data to navigation octree

◆ AddLevelToOctree()

void UNavigationSystemV1::AddLevelToOctree ( ULevel Level)
protectedvirtual

Called during ConditionalPopulateNavOctree and gives subclassess a chance to influence what gets added

◆ AddNavigationBounds()

void UNavigationSystemV1::AddNavigationBounds ( const FNavigationBounds NewBounds)
protected

adds data to RegisteredNavBounds

◆ AddNavigationBoundsUpdateRequest()

void UNavigationSystemV1::AddNavigationBoundsUpdateRequest ( const FNavigationBoundsUpdateRequest UpdateRequest)
protected

◆ AddNavigationBuildLock()

void UNavigationSystemV1::AddNavigationBuildLock ( uint8  Flags)

◆ AddNavigationDataChunk()

void UNavigationSystemV1::AddNavigationDataChunk ( class ANavigationDataChunkActor DataChunkActor)
overridevirtual

Reimplemented from UNavigationSystemBase.

◆ AddNavigationElement()

FNavigationElementHandle UNavigationSystemV1::AddNavigationElement ( UWorld World,
FNavigationElement &&  Element 
)
static

◆ AddReferencedObjects()

void UNavigationSystemV1::AddReferencedObjects ( UObject InThis,
FReferenceCollector Collector 
)
static

◆ AppendConfig()

void UNavigationSystemV1::AppendConfig ( const UNavigationSystemConfig NewConfig)
overridevirtual

◆ ApplySupportedAgentsFilter()

void UNavigationSystemV1::ApplySupportedAgentsFilter ( )
protected

◆ ApplyWorldOffset()

void UNavigationSystemV1::ApplyWorldOffset ( const FVector InOffset,
bool  bWorldShift 
)
overridevirtual

◆ Build()

void UNavigationSystemV1::Build ( )
virtual

Triggers navigation building on all eligible navigation data.

◆ CalcTimeSlicedUpdateData()

void UNavigationSystemV1::CalcTimeSlicedUpdateData ( TArray< double > &  OutCurrentTimeSlicedBuildTaskDurations,
TArray< bool > &  OutIsTimeSlicingArray,
bool bOutAnyNonTimeSlicedGenerators,
TArray< int32, TInlineAllocator< 8 > > &  OutNumTimeSlicedRemainingBuildTasksArray 
)
protected

◆ CancelBuild()

void UNavigationSystemV1::CancelBuild ( )
virtual

Cancels all currently running navigation builds

◆ CanRebuildDirtyNavigation()

bool UNavigationSystemV1::CanRebuildDirtyNavigation ( ) const

checks if dirty navigation data can rebuild itself

◆ CleanUp()

void UNavigationSystemV1::CleanUp ( const FNavigationSystem::ECleanupMode  Mode = FNavigationSystem::ECleanupMode::CleanupUnsafe)
overridevirtual

Called upon UWorld destruction to release what needs to be released

◆ ClearNavOctreeAll()

void UNavigationSystemV1::ClearNavOctreeAll ( AActor Actor)
static

removes all navoctree entries for actor and its components

◆ ComputeCustomLinkBounds()

FBox UNavigationSystemV1::ComputeCustomLinkBounds ( const INavLinkCustomInterface CustomLink)
static

Return a Bounding Box containing the navlink points

◆ ComputeNavDataBounds()

FBox UNavigationSystemV1::ComputeNavDataBounds ( ) const
overridevirtual

◆ ConditionalPopulateNavOctree()

bool UNavigationSystemV1::ConditionalPopulateNavOctree ( )
protectedvirtual

called in places where we need to spawn the NavOctree, but is checking additional conditions if we really want to do that depending on navigation data setup among others

Returns
true if NavOctree instance has been created, or if one is already present

◆ Configure()

void UNavigationSystemV1::Configure ( const UNavigationSystemConfig Config)
overridevirtual

◆ ConfigureAsStatic()

void UNavigationSystemV1::ConfigureAsStatic ( bool  bEnableStatic = true)
static

call with bEnableStatic == true to signal the NavigationSystem it doesn't need to store any navigation-generation-related data at game runtime, because nothing is going to use it anyway. This will short-circuit all code related to navmesh rebuilding, so use it only if you have fully static navigation in your game. bEnableStatic = false will reset the mechanism. Note: this is not a runtime switch. It's highly advisable not to call it manually and use UNavigationSystemModuleConfig.bStrictlyStatic instead

◆ ConstructNavOctree()

void UNavigationSystemV1::ConstructNavOctree ( )
protectedvirtual

called to instantiate NavigationSystem's NavOctree instance

◆ ContainsNavData()

bool UNavigationSystemV1::ContainsNavData ( const FBox Bounds) const
overridevirtual

◆ CreateCrowdManager()

void UNavigationSystemV1::CreateCrowdManager ( )
protectedvirtual

spawn new crowd manager

◆ CreateDefaultQueryFilterCopy()

FSharedNavQueryFilter UNavigationSystemV1::CreateDefaultQueryFilterCopy ( ) const

◆ CreateNavigationDataInstanceInLevel()

ANavigationData * UNavigationSystemV1::CreateNavigationDataInstanceInLevel ( const FNavDataConfig NavConfig,
ULevel SpawnLevel 
)
virtual

constructs a navigation data instance of specified NavDataClass, in passed Level for supplied NavConfig. If Level == null and bSpawnNavDataInNavBoundsLevel == true then the first volume actor in RegisteredNavBounds will be used to source the level. Otherwise the navdata instance will be spawned in NavigationSystem's world

◆ CreateNavigationSystem()

UNavigationSystemV1 * UNavigationSystemV1::CreateNavigationSystem ( UWorld WorldOwner)
static

◆ CycleNavigationDataDrawn()

void UNavigationSystemV1::CycleNavigationDataDrawn ( )

◆ DebugLogInvokers()

void UNavigationSystemV1::DebugLogInvokers ( FOutputDevice OutputDevice) const

◆ DECLARE_MULTICAST_DELEGATE_OneParam()

UNavigationSystemV1::DECLARE_MULTICAST_DELEGATE_OneParam ( FOnNavigationDirty  ,
const FBox  
)

delegate type for events that dirty the navigation data ( Params: const FBox& DirtyBounds )

◆ DemandLazyDataGathering()

void UNavigationSystemV1::DemandLazyDataGathering ( FNavigationRelevantData ElementData)

◆ DescribeFilterFlags() [1/2]

void UNavigationSystemV1::DescribeFilterFlags ( const TArray< FString > &  FlagsDesc) const

prepare descriptions of navigation flags in UNavigationQueryFilter class: using array

◆ DescribeFilterFlags() [2/2]

void UNavigationSystemV1::DescribeFilterFlags ( UEnum FlagsEnum) const

prepare descriptions of navigation flags in UNavigationQueryFilter class: using enum

◆ DestroyNavOctree()

void UNavigationSystemV1::DestroyNavOctree ( )
protectedvirtual

◆ DispatchAsyncQueriesResults()

void UNavigationSystemV1::DispatchAsyncQueriesResults ( const TArray< FAsyncPathFindingQuery > &  PathFindingQueries) const
protected

Broadcasts completion delegate for all completed async pathfinding requests.

◆ DoesPathIntersectBox() [1/2]

bool UNavigationSystemV1::DoesPathIntersectBox ( const FNavigationPath Path,
const FBox Box,
const FVector AgentLocation,
uint32  StartingIndex = 0,
FVector AgentExtent = NULL 
)
static

◆ DoesPathIntersectBox() [2/2]

bool UNavigationSystemV1::DoesPathIntersectBox ( const FNavigationPath Path,
const FBox Box,
uint32  StartingIndex = 0,
FVector AgentExtent = NULL 
)
static

◆ DoInitialSetup()

void UNavigationSystemV1::DoInitialSetup ( )
protectedvirtual

Sets up SuportedAgents and NavigationDataCreators. Override it to add additional setup, but make sure to call Super implementation

◆ FillInstantiatedDataMask()

uint8 UNavigationSystemV1::FillInstantiatedDataMask ( TBitArray<> &  OutInstantiatedMask,
ULevel InLevel = nullptr 
)
protected

Fills a mask indicating which navigation data associated to the supported agent mask are already instantiated.

Parameters
OutInstantiatedMaskThe mask that will represent already instantiated navigation data.
InLevelIf specified will be used to search for navigation data; will use the owning world otherwise.
Returns
Number of instantiated navigation data.

◆ FillNavigationDataChunkActor()

void UNavigationSystemV1::FillNavigationDataChunkActor ( const FBox QueryBounds,
class ANavigationDataChunkActor DataChunkActor,
FBox OutTilesBounds 
)
overridevirtual

Reimplemented from UNavigationSystemBase.

◆ FindElementsInNavOctree()

void UNavigationSystemV1::FindElementsInNavOctree ( const FBox QueryBox,
const FNavigationOctreeFilter Filter,
TArray< FNavigationOctreeElement > &  Elements 
)

find all elements in navigation octree within given box (intersection)

◆ FindPathAsync()

uint32 UNavigationSystemV1::FindPathAsync ( const FNavAgentProperties AgentProperties,
FPathFindingQuery  Query,
const FNavPathQueryDelegate ResultDelegate,
EPathFindingMode::Type  Mode = EPathFindingMode::Regular 
)

Asynchronously looks for a path from @StartLocation to @EndLocation for agent with properties @AgentProperties. NavData actor appropriate for specified FNavAgentProperties will be found automatically

Parameters
AgentPropertiesoptional agent properties used to determine the NavData to use, only when the NavData inside the FPathFindingQuery was left empty.
ResultDelegatedelegate that will be called once query has been processed and finished. Will be called even if query fails - in such case see comments for delegate's params
Modeswitch between normal and hierarchical path finding algorithms
Returns
request ID

◆ FindPathSync() [1/2]

FPathFindingResult UNavigationSystemV1::FindPathSync ( const FNavAgentProperties AgentProperties,
FPathFindingQuery  Query,
EPathFindingMode::Type  Mode = EPathFindingMode::Regular 
)

Synchronously looks for a path from @fLocation to @EndLocation for agent with properties @AgentProperties. NavData actor appropriate for specified FNavAgentProperties will be found automatically

Parameters
ResultPathresults are put here
NavDataoptional navigation data that will be used instead of the one that would be deducted from AgentProperties
Modeswitch between normal and hierarchical path finding algorithms

◆ FindPathSync() [2/2]

FPathFindingResult UNavigationSystemV1::FindPathSync ( FPathFindingQuery  Query,
EPathFindingMode::Type  Mode = EPathFindingMode::Regular 
)

Does a simple path finding from @StartLocation to @EndLocation on specified NavData. If none passed MainNavData will be used Result gets placed in ResultPath

Parameters
NavDataoptional navigation data that will be used instead main navigation data
Modeswitch between normal and hierarchical path finding algorithms

◆ FindPathToActorSynchronously()

UNavigationPath * UNavigationSystemV1::FindPathToActorSynchronously ( UObject WorldContextObject,
const FVector PathStart,
AActor GoalActor,
float  TetherDistance = 50.f,
AActor PathfindingContext = NULL,
TSubclassOf< UNavigationQueryFilter FilterClass = {} 
)
static

Finds path instantly, in a FindPath Synchronously. Main advantage over FindPathToLocationSynchronously is that the resulting path will automatically get updated if goal actor moves more than TetherDistance away from last path node

Parameters
PathfindingContextcould be one of following: NavigationData (like Navmesh actor), Pawn or Controller. This parameter determines parameters of specific pathfinding query

◆ FindPathToLocationSynchronously()

UNavigationPath * UNavigationSystemV1::FindPathToLocationSynchronously ( UObject WorldContextObject,
const FVector PathStart,
const FVector PathEnd,
AActor PathfindingContext = NULL,
TSubclassOf< UNavigationQueryFilter FilterClass = {} 
)
static

Finds path instantly, in a FindPath Synchronously.

Parameters
PathfindingContextcould be one of following: NavigationData (like Navmesh actor), Pawn or Controller. This parameter determines parameters of specific pathfinding query

◆ FinishDestroy()

void UNavigationSystemV1::FinishDestroy ( )
overridevirtual

Called to finish destroying the object. After UObject::FinishDestroy is called, the object's memory should no longer be accessed.

Warning
Because properties are destroyed here, Super::FinishDestroy() should always be called at the end of your child class's FinishDestroy() method, rather than at the beginning.

Reimplemented from UObject.

◆ GatherDebugLabels()

void UNavigationSystemV1::GatherDebugLabels ( TArray< FString > &  InOutDebugLabels) const

◆ GatherNavigationBounds()

void UNavigationSystemV1::GatherNavigationBounds ( )
protectedvirtual

Searches for all valid navigation bounds in the world and stores them

◆ GetAbstractNavData()

ANavigationData * UNavigationSystemV1::GetAbstractNavData ( ) const
inline

◆ GetAllAttachedActors()

int32 UNavigationSystemV1::GetAllAttachedActors ( const AActor RootActor,
TArray< AActor * > &  OutAttachedActors 
)
staticprotected

A helper function that gathers all actors attached to RootActor and fetches them back. The function does consider multi-level attachments.

Parameters
RootActorThe reference actor to get the attached actors from.
OutAttachedActorsis getting reset at the beginning of the function. When done it is guaranteed to contain unique, non-null ptrs. It will not include RootActor.
Returns
the number of unique attached actors

◆ GetBiggestSupportedAgent()

const FNavDataConfig & UNavigationSystemV1::GetBiggestSupportedAgent ( const UWorld World)
static

◆ GetCrowdManager()

UCrowdManagerBase * UNavigationSystemV1::GetCrowdManager ( ) const
inline

◆ GetCurrent() [1/2]

UNavigationSystemV1 * UNavigationSystemV1::GetCurrent ( UObject WorldContextObject)
static

◆ GetCurrent() [2/2]

UNavigationSystemV1 * UNavigationSystemV1::GetCurrent ( UWorld World)
static

◆ GetCustomLink() [1/2]

INavLinkCustomInterface * UNavigationSystemV1::GetCustomLink ( FNavLinkId  UniqueLinkId) const

find custom link by unique ID

◆ GetCustomLink() [2/2]

INavLinkCustomInterface * UNavigationSystemV1::GetCustomLink ( uint32  UniqueLinkId) const
inline

◆ GetDataForElement()

const FNavigationRelevantData * UNavigationSystemV1::GetDataForElement ( FNavigationElementHandle  Element) const

◆ GetDataForObject()

const FNavigationRelevantData * UNavigationSystemV1::GetDataForObject ( const UObject Object) const

◆ GetDefaultNavDataInstance() [1/2]

ANavigationData * UNavigationSystemV1::GetDefaultNavDataInstance ( ) const
inline

◆ GetDefaultNavDataInstance() [2/2]

ANavigationData * UNavigationSystemV1::GetDefaultNavDataInstance ( FNavigationSystem::ECreateIfMissing  CreateNewIfNoneFound)

Returns the world default navigation data instance. Creates one if it doesn't exist.

◆ GetDefaultSupportedAgent()

const FNavDataConfig & UNavigationSystemV1::GetDefaultSupportedAgent ( )
static

◆ GetDefaultSupportedAgentConfig()

const FNavDataConfig & UNavigationSystemV1::GetDefaultSupportedAgentConfig ( ) const

◆ GetDirtyAreaWarningSizeThreshold()

float UNavigationSystemV1::GetDirtyAreaWarningSizeThreshold ( ) const
inline

◆ GetInvokerLocations()

const TArray< FNavigationInvokerRaw > & UNavigationSystemV1::GetInvokerLocations ( ) const
inline

◆ GetInvokerSeedLocations()

void UNavigationSystemV1::GetInvokerSeedLocations ( const UWorld InWorld,
TArray< FVector, TInlineAllocator< 32 > > &  OutSeedLocations 
)
protectedvirtual

Get seed locations for invokers,

See also
InvokersMaximumDistanceFromSeed By default these are the player pawn locations. If a player controller has no pawn assigned, the player's camera location will be used instead.

◆ GetInvokersSeedBounds()

const TArray< FBox > & UNavigationSystemV1::GetInvokersSeedBounds ( ) const
inline

◆ GetIsAutoUpdateEnabled()

virtual bool UNavigationSystemV1::GetIsAutoUpdateEnabled ( ) const
inlinevirtual

checks if auto-rebuilding navigation data is enabled. Defaults to bNavigationAutoUpdateEnabled value, but can be overridden per nav sys instance

◆ GetLevelBounds()

FBox UNavigationSystemV1::GetLevelBounds ( ULevel InLevel) const

◆ GetMainNavData()

virtual INavigationDataInterface * UNavigationSystemV1::GetMainNavData ( ) const
inlineoverridevirtual

Returns the world default navigation data instance.

◆ GetMainNavDataChecked()

ANavigationData & UNavigationSystemV1::GetMainNavDataChecked ( ) const
inline

◆ GetMutableDataForElement()

FNavigationRelevantData * UNavigationSystemV1::GetMutableDataForElement ( FNavigationElementHandle  Element)

◆ GetMutableDataForObject()

FNavigationRelevantData * UNavigationSystemV1::GetMutableDataForObject ( const UObject Object)

◆ GetMutableNavOctree()

FNavigationOctree * UNavigationSystemV1::GetMutableNavOctree ( )
inline

◆ GetMutableNavRegenTimeSliceManager()

FNavRegenTimeSliceManager & UNavigationSystemV1::GetMutableNavRegenTimeSliceManager ( )
inline

◆ GetNavAgentPropertiesArray()

void UNavigationSystemV1::GetNavAgentPropertiesArray ( TArray< FNavAgentProperties > &  OutNavAgentProperties) const

◆ GetNavDataForActor()

INavigationDataInterface * UNavigationSystemV1::GetNavDataForActor ( const AActor Actor)
static

◆ GetNavDataForAgentName()

ANavigationData * UNavigationSystemV1::GetNavDataForAgentName ( const FName  AgentName) const
virtual

Goes through all registered NavigationData instances and retrieves the one supporting agent named AgentName

◆ GetNavDataForProps() [1/3]

ANavigationData * UNavigationSystemV1::GetNavDataForProps ( const FNavAgentProperties AgentProperties)
virtual

Looks for NavData generated for specified movement properties and returns it. NULL if not found;

◆ GetNavDataForProps() [2/3]

const ANavigationData * UNavigationSystemV1::GetNavDataForProps ( const FNavAgentProperties AgentProperties) const
virtual

Looks for NavData generated for specified movement properties and returns it. NULL if not found; Const version.

◆ GetNavDataForProps() [3/3]

ANavigationData * UNavigationSystemV1::GetNavDataForProps ( const FNavAgentProperties AgentProperties,
const FVector AgentLocation,
const FVector Extent = INVALID_NAVEXTENT 
) const
virtual

Looks up NavData appropriate for specified movement properties and returns it. NULL if not found; This is the encouraged way of querying for the appropriate NavData. It makes no difference for NavigationSystemV1 (AgentLocation and Extent parameters not being used) but NaV2 will take advantage of it and all engine-level AI navigation code is going to use call this flavor.

◆ GetNavDataWithID()

ANavigationData * UNavigationSystemV1::GetNavDataWithID ( const uint16  NavDataID) const
protected
Returns
pointer to ANavigationData instance of given ID, or NULL if it was not found. Note it looks only through registered navigation data

◆ GetNavigableWorldBounds()

FBox UNavigationSystemV1::GetNavigableWorldBounds ( ) const
overridevirtual

◆ GetNavigationBounds()

const TSet< FNavigationBounds > & UNavigationSystemV1::GetNavigationBounds ( ) const

◆ GetNavigationBoundsForNavData()

int UNavigationSystemV1::GetNavigationBoundsForNavData ( const ANavigationData NavData,
TArray< FBox > &  OutBounds,
ULevel InLevel = nullptr 
) const
virtual
Parameters
InLevelOptional parameter to limit the navigation bounds to consider to the ones from that level

◆ GetNavigationElementForUObject()

TSharedPtr< const FNavigationElement > UNavigationSystemV1::GetNavigationElementForUObject ( const UObject Object) const
protected
Returns
Valid shared pointer on a FNavigationElement if the provided UObject is registered in the navigation system, an invalid one otherwise.

◆ GetNavigationElementHandleForUObject()

FNavigationElementHandle UNavigationSystemV1::GetNavigationElementHandleForUObject ( const UObject Object) const
protected
Returns
Valid handle if the provided UObject is registered in the navigation system, FNavigationElementHandle::Invalid otherwise.

◆ GetNavigationSystem()

UNavigationSystemV1 * UNavigationSystemV1::GetNavigationSystem ( UObject WorldContextObject)
static

◆ GetNavOctree()

const FNavigationOctree * UNavigationSystemV1::GetNavOctree ( ) const
inline

◆ GetNavOctreeElementData() [1/2]

bool UNavigationSystemV1::GetNavOctreeElementData ( const UObject NodeOwner,
int32 DirtyFlags,
FBox DirtyBounds 
)
protected

◆ GetNavOctreeElementData() [2/2]

bool UNavigationSystemV1::GetNavOctreeElementData ( FNavigationElementHandle  Element,
ENavigationDirtyFlag OutDirtyFlags,
FBox OutDirtyBounds 
)
protected

read element data from navigation octree

◆ GetNavOctreeIdForElement()

const FOctreeElementId2 * UNavigationSystemV1::GetNavOctreeIdForElement ( FNavigationElementHandle  Element) const
inline

◆ GetNumCustomLinks()

int32 UNavigationSystemV1::GetNumCustomLinks ( ) const
inline

◆ GetNumDirtyAreas()

int32 UNavigationSystemV1::GetNumDirtyAreas ( ) const

◆ GetNumRemainingBuildTasks()

int32 UNavigationSystemV1::GetNumRemainingBuildTasks ( ) const

Used to display "navigation building in progress" counter

◆ GetNumRunningBuildTasks()

int32 UNavigationSystemV1::GetNumRunningBuildTasks ( ) const

Number of currently running tasks

◆ GetObjectsNavOctreeId()

const FOctreeElementId2 * UNavigationSystemV1::GetObjectsNavOctreeId ( const UObject Object) const

◆ GetOnScreenMessages()

void UNavigationSystemV1::GetOnScreenMessages ( TMultiMap< FCoreDelegates::EOnScreenMessageSeverity, FText > &  OutMessages)

◆ GetOperationMode()

FNavigationSystemRunMode UNavigationSystemV1::GetOperationMode ( ) const
inline

◆ GetPathCost() [1/2]

ENavigationQueryResult::Type UNavigationSystemV1::GetPathCost ( const FVector PathStart,
const FVector PathEnd,
FVector::FReal PathCost,
const ANavigationData NavData = NULL,
FSharedConstNavQueryFilter  QueryFilter = NULL 
) const

Calculates a path from PathStart to PathEnd and retrieves its cost. @NOTE potentially expensive, so use it with caution

◆ GetPathCost() [2/2]

ENavigationQueryResult::Type UNavigationSystemV1::GetPathCost ( UObject WorldContextObject,
const FVector PathStart,
const FVector PathEnd,
double PathCost,
ANavigationData NavData = NULL,
TSubclassOf< UNavigationQueryFilter FilterClass = {} 
)
static

Potentially expensive. Use with caution. Consider using UPathFollowingComponent::GetRemainingPathCost instead

◆ GetPathLength() [1/2]

ENavigationQueryResult::Type UNavigationSystemV1::GetPathLength ( const FVector PathStart,
const FVector PathEnd,
FVector::FReal PathLength,
const ANavigationData NavData = NULL,
FSharedConstNavQueryFilter  QueryFilter = NULL 
) const

Calculates a path from PathStart to PathEnd and retrieves its overestimated length. @NOTE potentially expensive, so use it with caution

◆ GetPathLength() [2/2]

ENavigationQueryResult::Type UNavigationSystemV1::GetPathLength ( UObject WorldContextObject,
const FVector PathStart,
const FVector PathEnd,
double PathLength,
ANavigationData NavData = NULL,
TSubclassOf< UNavigationQueryFilter FilterClass = {} 
)
static

Potentially expensive. Use with caution

◆ GetPathLengthAndCost()

ENavigationQueryResult::Type UNavigationSystemV1::GetPathLengthAndCost ( const FVector PathStart,
const FVector PathEnd,
FVector::FReal PathLength,
FVector::FReal PathCost,
const ANavigationData NavData = NULL,
FSharedConstNavQueryFilter  QueryFilter = NULL 
) const

Calculates a path from PathStart to PathEnd and retrieves its overestimated length and cost. @NOTE potentially expensive, so use it with caution

◆ GetRandomPoint()

bool UNavigationSystemV1::GetRandomPoint ( FNavLocation ResultLocation,
ANavigationData NavData = NULL,
FSharedConstNavQueryFilter  QueryFilter = NULL 
)

Finds random point in navigable space

Parameters
ResultLocationFound point is put here
NavDataIf NavData == NULL then MainNavData is used.
Returns
true if any location found, false otherwise

◆ GetRandomPointInNavigableRadius()

bool UNavigationSystemV1::GetRandomPointInNavigableRadius ( const FVector Origin,
float  Radius,
FNavLocation ResultLocation,
ANavigationData NavData = NULL,
FSharedConstNavQueryFilter  QueryFilter = NULL 
) const

Finds random, point in navigable space restricted to Radius around Origin. Resulting location is not tested for reachability from the Origin

Parameters
ResultLocationFound point is put here
NavDataIf NavData == NULL then MainNavData is used.
Returns
true if any location found, false otherwise

◆ GetRandomReachablePointInRadius()

bool UNavigationSystemV1::GetRandomReachablePointInRadius ( const FVector Origin,
float  Radius,
FNavLocation ResultLocation,
ANavigationData NavData = NULL,
FSharedConstNavQueryFilter  QueryFilter = NULL 
) const

Finds random, reachable point in navigable space restricted to Radius around Origin

Parameters
ResultLocationFound point is put here
NavDataIf NavData == NULL then MainNavData is used.
Returns
true if any location found, false otherwise

◆ GetRunMode()

FNavigationSystemRunMode UNavigationSystemV1::GetRunMode ( ) const
inline

◆ GetRuntimeGenerationType()

ERuntimeGenerationType UNavigationSystemV1::GetRuntimeGenerationType ( ) const
protected

Return "Strongest" runtime generation type required by registered navigation data objects Depends on runtime generation settings of each navigation data, always ERuntimeGenerationType::Dynamic in the editor world

◆ GetSupportedAgentIndex() [1/2]

int32 UNavigationSystemV1::GetSupportedAgentIndex ( const ANavigationData NavData) const

find index in SupportedAgents array for given navigation data

◆ GetSupportedAgentIndex() [2/2]

int32 UNavigationSystemV1::GetSupportedAgentIndex ( const FNavAgentProperties NavAgent) const

find index in SupportedAgents array for agent type

◆ GetSupportedAgents()

const TArray< FNavDataConfig > & UNavigationSystemV1::GetSupportedAgents ( ) const
inline

◆ GetSupportedAgentsMask()

FNavAgentSelector UNavigationSystemV1::GetSupportedAgentsMask ( ) const
inline

◆ GetWorld()

UWorld * UNavigationSystemV1::GetWorld ( ) const
inlineoverride

◆ GetWorldBounds()

FBox UNavigationSystemV1::GetWorldBounds ( ) const

◆ HandleCountNavMemCommand()

bool UNavigationSystemV1::HandleCountNavMemCommand ( )

◆ HandleCycleNavDrawnCommand()

bool UNavigationSystemV1::HandleCycleNavDrawnCommand ( const TCHAR Cmd,
FOutputDevice Ar 
)

Exec command handlers

◆ HasDirtyAreasQueued()

bool UNavigationSystemV1::HasDirtyAreasQueued ( ) const

◆ HashObject()

PRAGMA_DISABLE_DEPRECATION_WARNINGS uint32 UNavigationSystemV1::HashObject ( const UObject Object)
static

◆ HasPendingObjectNavOctreeId()

bool UNavigationSystemV1::HasPendingObjectNavOctreeId ( UObject Object) const

◆ HasPendingUpdateForElement()

bool UNavigationSystemV1::HasPendingUpdateForElement ( FNavigationElementHandle  Element) const
inline

◆ InitializeForWorld()

void UNavigationSystemV1::InitializeForWorld ( UWorld World,
FNavigationSystemRunMode  Mode 
)
overridevirtual

◆ InitializeLevelCollisions()

void UNavigationSystemV1::InitializeLevelCollisions ( )

adds BSP collisions of currently streamed in levels to octree

◆ IsActiveTilesGenerationEnabled()

bool UNavigationSystemV1::IsActiveTilesGenerationEnabled ( ) const
inline

◆ IsAllowedToRebuild()

bool UNavigationSystemV1::IsAllowedToRebuild ( ) const
protected

Whether Navigation System is allowed to rebuild the navmesh Depends on runtime generation settings of each navigation data, always true in the editor

◆ IsInitialized()

bool UNavigationSystemV1::IsInitialized ( ) const
inline

◆ IsNavigationBeingBuilt()

bool UNavigationSystemV1::IsNavigationBeingBuilt ( UObject WorldContextObject)
static

◆ IsNavigationBeingBuiltOrLocked()

bool UNavigationSystemV1::IsNavigationBeingBuiltOrLocked ( UObject WorldContextObject)
static

◆ IsNavigationBuildingLocked()

bool UNavigationSystemV1::IsNavigationBuildingLocked ( uint8  Flags = ~0) const
inline

◆ IsNavigationBuildingPermanentlyLocked()

bool UNavigationSystemV1::IsNavigationBuildingPermanentlyLocked ( ) const
inline

check if building is permanently locked to avoid showing navmesh building notify (due to queued dirty areas)

◆ IsNavigationBuildInProgress()

bool UNavigationSystemV1::IsNavigationBuildInProgress ( )

determines whether any generator is performing navigation building actions at the moment, dirty areas are also checked

◆ IsNavigationBuilt()

bool UNavigationSystemV1::IsNavigationBuilt ( const AWorldSettings Settings) const
overridevirtual

Reimplemented from UNavigationSystemBase.

◆ IsNavigationDirty()

bool UNavigationSystemV1::IsNavigationDirty ( ) const

checks if navigation/navmesh is dirty and needs to be rebuilt

◆ IsNavigationOctreeLocked()

bool UNavigationSystemV1::IsNavigationOctreeLocked ( ) const
inline

check if navigation octree updates are currently ignored

◆ IsNavigationRelevant()

bool UNavigationSystemV1::IsNavigationRelevant ( const AActor TestActor) const

◆ IsNavigationSystemStatic()

static bool UNavigationSystemV1::IsNavigationSystemStatic ( )
inlinestatic

◆ IsSetUpForLazyGeometryExporting()

bool UNavigationSystemV1::IsSetUpForLazyGeometryExporting ( ) const
inline

◆ IsThereAnywhereToBuildNavigation()

bool UNavigationSystemV1::IsThereAnywhereToBuildNavigation ( ) const
virtual

◆ IsWorldInitDone()

virtual bool UNavigationSystemV1::IsWorldInitDone ( ) const
inlineoverridevirtual

Returns true if world has been initialized.

◆ K2_GetRandomLocationInNavigableRadius()

bool UNavigationSystemV1::K2_GetRandomLocationInNavigableRadius ( UObject WorldContextObject,
const FVector Origin,
FVector RandomLocation,
float  Radius,
ANavigationData NavData = NULL,
TSubclassOf< UNavigationQueryFilter FilterClass = {} 
)
static

Generates a random location in navigable space within given radius of Origin.

Returns
Return Value represents if the call was successful

◆ K2_GetRandomPointInNavigableRadius()

bool UNavigationSystemV1::K2_GetRandomPointInNavigableRadius ( UObject WorldContextObject,
const FVector Origin,
FVector RandomLocation,
float  Radius,
ANavigationData NavData = NULL,
TSubclassOf< UNavigationQueryFilter FilterClass = {} 
)
static

◆ K2_GetRandomReachablePointInRadius()

bool UNavigationSystemV1::K2_GetRandomReachablePointInRadius ( UObject WorldContextObject,
const FVector Origin,
FVector RandomLocation,
float  Radius,
ANavigationData NavData = NULL,
TSubclassOf< UNavigationQueryFilter FilterClass = {} 
)
static

Generates a random location reachable from given Origin location.

Returns
Return Value represents if the call was successful

◆ K2_ProjectPointToNavigation()

bool UNavigationSystemV1::K2_ProjectPointToNavigation ( UObject WorldContextObject,
const FVector Point,
FVector ProjectedLocation,
ANavigationData NavData,
TSubclassOf< UNavigationQueryFilter FilterClass,
const FVector  QueryExtent = FVector::ZeroVector 
)
static

Project a point onto the NavigationData

◆ K2_ReplaceAreaInOctreeData()

bool UNavigationSystemV1::K2_ReplaceAreaInOctreeData ( const UObject Object,
TSubclassOf< UNavArea OldArea,
TSubclassOf< UNavArea NewArea 
)

◆ LogNavDataRegistrationResult()

void UNavigationSystemV1::LogNavDataRegistrationResult ( ERegistrationResult  InResult)
protected

◆ NavigationRaycast()

bool UNavigationSystemV1::NavigationRaycast ( UObject WorldContextObject,
const FVector RayStart,
const FVector RayEnd,
FVector HitLocation,
TSubclassOf< UNavigationQueryFilter FilterClass = {},
AController Querier = NULL 
)
static

Performs navigation raycast on NavigationData appropriate for given Querier.

Parameters
Querierif not passed default navigation data will be used
HitLocationif line was obstructed this will be set to hit location. Otherwise it contains SegmentEnd
Returns
true if line from RayStart to RayEnd was obstructed. Also, true when no navigation data present

◆ NavigationRaycastWithAdditionalResults()

bool UNavigationSystemV1::NavigationRaycastWithAdditionalResults ( UObject WorldContextObject,
const FVector RayStart,
const FVector RayEnd,
FVector HitLocation,
FNavigationRaycastAdditionalResults AdditionalResults,
TSubclassOf< UNavigationQueryFilter FilterClass = {},
AController Querier = NULL 
)
static

Performs navigation raycast on NavigationData appropriate for given Querier.

Parameters
Querierif not passed default navigation data will be used
HitLocationif line was obstructed this will be set to hit location. Otherwise it contains SegmentEnd
AdditionalResultscontains more information about the result of the raycast query. See FNavigationRaycastAdditionalResults description for details
Returns
true if line from RayStart to RayEnd was obstructed. Also, true when no navigation data present

◆ OnActorRegistered()

void UNavigationSystemV1::OnActorRegistered ( AActor Actor)
static

◆ OnActorUnregistered()

void UNavigationSystemV1::OnActorUnregistered ( AActor Actor)
static

◆ OnBeginTearingDown()

void UNavigationSystemV1::OnBeginTearingDown ( UWorld World)
protectedvirtual

Called as part of UWorld::BeginTearingDown

◆ OnComponentRegistered()

void UNavigationSystemV1::OnComponentRegistered ( UActorComponent Comp)
static

◆ OnComponentUnregistered()

void UNavigationSystemV1::OnComponentUnregistered ( UActorComponent Comp)
static

◆ OnGenerateNavigationOnlyAroundNavigationInvokersChanged()

void UNavigationSystemV1::OnGenerateNavigationOnlyAroundNavigationInvokersChanged ( )
protected

Handle forwarding the information where needed when the setting is changed

◆ OnInitializeActors()

void UNavigationSystemV1::OnInitializeActors ( )
overridevirtual

Called when owner-UWorld initializes actors

◆ OnLevelAddedToWorld()

void UNavigationSystemV1::OnLevelAddedToWorld ( ULevel InLevel,
UWorld InWorld 
)
protected

◆ OnLevelRemovedFromWorld()

void UNavigationSystemV1::OnLevelRemovedFromWorld ( ULevel InLevel,
UWorld InWorld 
)
protected

◆ OnNavigationAreaEvent()

void UNavigationSystemV1::OnNavigationAreaEvent ( UClass AreaClass,
ENavAreaEvent::Type  Event 
)
protected

◆ OnNavigationBoundsAdded()

void UNavigationSystemV1::OnNavigationBoundsAdded ( ANavMeshBoundsVolume NavVolume)
virtual

◆ OnNavigationBoundsRemoved()

void UNavigationSystemV1::OnNavigationBoundsRemoved ( ANavMeshBoundsVolume NavVolume)
virtual

◆ OnNavigationBoundsUpdated()

void UNavigationSystemV1::OnNavigationBoundsUpdated ( ANavMeshBoundsVolume NavVolume)

◆ OnNavigationDirtied()

void UNavigationSystemV1::OnNavigationDirtied ( const FBox Bounds)
protected

delegate handler called when navigation is dirtied

◆ OnNavigationElementUpdated()

void UNavigationSystemV1::OnNavigationElementUpdated ( UWorld World,
FNavigationElementHandle  ElementHandle,
FNavigationElement &&  Element 
)
static

◆ OnNavigationGenerationFinished()

void UNavigationSystemV1::OnNavigationGenerationFinished ( ANavigationData NavData)
virtual

◆ OnNavRelevantObjectRegistered()

void UNavigationSystemV1::OnNavRelevantObjectRegistered ( UObject Object)
static

◆ OnNavRelevantObjectUnregistered()

void UNavigationSystemV1::OnNavRelevantObjectUnregistered ( UObject Object)
static

◆ OnPIEEnd()

void UNavigationSystemV1::OnPIEEnd ( )

◆ OnPIEStart()

void UNavigationSystemV1::OnPIEStart ( )

◆ OnPostLoadMap()

void UNavigationSystemV1::OnPostLoadMap ( UWorld LoadedWorld)
protected

delegate handler for PostLoadMap event

◆ OnReloadComplete()

void UNavigationSystemV1::OnReloadComplete ( EReloadCompleteReason  Reason)
protectedvirtual

called to notify NavigationSystem about finished reload

◆ OnWorldInitDone()

void UNavigationSystemV1::OnWorldInitDone ( FNavigationSystemRunMode  Mode)
virtual

◆ OnWorldPostActorTick()

void UNavigationSystemV1::OnWorldPostActorTick ( UWorld World,
ELevelTick  TickType,
float  DeltaTime 
)
inlineprotected

◆ OverrideSupportedAgents()

void UNavigationSystemV1::OverrideSupportedAgents ( const TArray< FNavDataConfig > &  NewSupportedAgents)

◆ PerformAsyncQueries()

void UNavigationSystemV1::PerformAsyncQueries ( TArray< FAsyncPathFindingQuery PathFindingQueries)
protected

Processes pathfinding requests given in PathFindingQueries.

◆ PerformNavigationBoundsUpdate()

void UNavigationSystemV1::PerformNavigationBoundsUpdate ( const TArray< FNavigationBoundsUpdateRequest > &  UpdateRequests)
protectedvirtual

used to apply updates of nav volumes in navigation system's tick

◆ PostInitProperties()

void UNavigationSystemV1::PostInitProperties ( )
overridevirtual

Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

Reimplemented from UObject.

◆ PostponeAsyncQueries()

void UNavigationSystemV1::PostponeAsyncQueries ( )
protected

Requests the async pathfinding task to abort and waits for it to complete before resuming the main thread. Pathfind task will postpone remaining queries to next frame.

◆ ProcessCustomLinkPendingRegistration()

void UNavigationSystemV1::ProcessCustomLinkPendingRegistration ( )
protected

Registers custom navigation links awaiting registration in the navigation object repository

◆ ProcessRegistrationCandidates()

void UNavigationSystemV1::ProcessRegistrationCandidates ( )
protectedvirtual

Processes registration of candidates queues via RequestRegistration and stored in NavDataRegistrationQueue

◆ ProjectPointToNavigation() [1/2]

bool UNavigationSystemV1::ProjectPointToNavigation ( const FVector Point,
FNavLocation OutLocation,
const FVector Extent = INVALID_NAVEXTENT,
const ANavigationData NavData = NULL,
FSharedConstNavQueryFilter  QueryFilter = NULL 
) const

◆ ProjectPointToNavigation() [2/2]

bool UNavigationSystemV1::ProjectPointToNavigation ( const FVector Point,
FNavLocation OutLocation,
const FVector Extent = INVALID_NAVEXTENT,
const FNavAgentProperties AgentProperties = NULL,
FSharedConstNavQueryFilter  QueryFilter = NULL 
)
inline

◆ RebuildAll()

void UNavigationSystemV1::RebuildAll ( bool  bIsLoadTime = false)
protectedvirtual

Triggers navigation building on all eligible navigation data.

◆ RebuildDirtyAreas()

void UNavigationSystemV1::RebuildDirtyAreas ( float  DeltaSeconds)
protectedvirtual

◆ RegisterComponent()

void UNavigationSystemV1::RegisterComponent ( UActorComponent Comp)
static

◆ RegisterComponentToNavOctree()

void UNavigationSystemV1::RegisterComponentToNavOctree ( UActorComponent Comp)
staticprotected

◆ RegisterCustomLink()

void UNavigationSystemV1::RegisterCustomLink ( INavLinkCustomInterface CustomLink)
virtual

◆ RegisterInvoker() [1/2]

void UNavigationSystemV1::RegisterInvoker ( AActor Invoker,
float  TileGenerationRadius,
float  TileRemovalRadius,
const FNavAgentSelector Agents,
ENavigationInvokerPriority  InPriority 
)
virtual

◆ RegisterInvoker() [2/2]

void UNavigationSystemV1::RegisterInvoker ( const TWeakInterfacePtr< INavigationInvokerInterface > &  Invoker,
float  TileGenerationRadius,
float  TileRemovalRadius,
const FNavAgentSelector Agents,
ENavigationInvokerPriority  InPriority 
)
virtual

◆ RegisterNavAreaClass()

void UNavigationSystemV1::RegisterNavAreaClass ( UClass NavAreaClass)
protected

tries to register navigation area

◆ RegisterNavData()

UNavigationSystemV1::ERegistrationResult UNavigationSystemV1::RegisterNavData ( ANavigationData NavData)
protectedvirtual

Registers given navigation data with this Navigation System.

Returns
RegistrationSuccessful if registration was successful, other results mean it failed
See also
ERegistrationResult

◆ RegisterNavigationDataInstances()

void UNavigationSystemV1::RegisterNavigationDataInstances ( )
protected

Processes all NavigationData instances in UWorld owning navigation system instance, and registers all previously unregistered

◆ RegisterNavigationElementWithNavOctree()

FSetElementId UNavigationSystemV1::RegisterNavigationElementWithNavOctree ( const TSharedRef< const FNavigationElement > &  Element,
int32  UpdateFlags 
)
protected

◆ RegisterNavigationInvoker() [1/2]

void UNavigationSystemV1::RegisterNavigationInvoker ( AActor Invoker,
float  TileGenerationRadius,
float  TileRemovalRadius,
const FNavAgentSelector Agents = FNavAgentSelector(),
ENavigationInvokerPriority  Priority = ENavigationInvokerPriority::Default 
)
static

◆ RegisterNavigationInvoker() [2/2]

void UNavigationSystemV1::RegisterNavigationInvoker ( AActor Invoker,
float  TileGenerationRadius = 3000,
float  TileRemovalRadius = 5000 
)

Registers given actor as a "navigation enforcer" which means navigation system will make sure navigation is being generated in specified radius around it.

Note
: you need NavigationSystem's GenerateNavigationOnlyAroundNavigationInvokers to be set to true to take advantage of this feature

◆ RegisterNavOctreeElement()

FSetElementId UNavigationSystemV1::RegisterNavOctreeElement ( UObject ElementOwner,
INavRelevantInterface ElementInterface,
int32  UpdateFlags 
)
protected

◆ RegisterNavRelevantObjectInternal()

void UNavigationSystemV1::RegisterNavRelevantObjectInternal ( const INavRelevantInterface NavRelevantObject,
const UObject Object 
)
protected

Similar to UnregisterNavRelevantObjectStatic but uses the cached repository.

◆ RegisterNavRelevantObjectStatic()

void UNavigationSystemV1::RegisterNavRelevantObjectStatic ( const INavRelevantInterface NavRelevantObject,
const UObject Object 
)
staticprotected

Fetches the repository from the provided object and registers the object with it.

◆ ReleaseInitialBuildingLock()

void UNavigationSystemV1::ReleaseInitialBuildingLock ( )
virtual

◆ RemoveFromNavOctree()

void UNavigationSystemV1::RemoveFromNavOctree ( const FOctreeElementId2 ElementId,
int32  UpdateFlags 
)
protected

◆ RemoveLevelCollisionFromOctree()

void UNavigationSystemV1::RemoveLevelCollisionFromOctree ( ULevel Level)
protected

Remove BSP collision data from navigation octree

◆ RemoveNavigationBuildLock()

void UNavigationSystemV1::RemoveNavigationBuildLock ( uint8  Flags,
const ELockRemovalRebuildAction  RebuildAction = ELockRemovalRebuildAction::Rebuild 
)

◆ RemoveNavigationDataChunk()

void UNavigationSystemV1::RemoveNavigationDataChunk ( class ANavigationDataChunkActor DataChunkActor)
overridevirtual

Reimplemented from UNavigationSystemBase.

◆ RemoveNavigationElement()

void UNavigationSystemV1::RemoveNavigationElement ( UWorld World,
FNavigationElementHandle  ElementHandle 
)
static

◆ RemoveNavOctreeElementId()

void UNavigationSystemV1::RemoveNavOctreeElementId ( const FOctreeElementId2 ElementId,
int32  UpdateFlags 
)

◆ RemoveObjectsNavOctreeId()

void UNavigationSystemV1::RemoveObjectsNavOctreeId ( const UObject Object)

◆ ReplaceAreaInOctreeData() [1/2]

bool UNavigationSystemV1::ReplaceAreaInOctreeData ( const UObject Object,
TSubclassOf< UNavArea OldArea,
TSubclassOf< UNavArea NewArea,
bool  bReplaceChildClasses = false 
)

◆ ReplaceAreaInOctreeData() [2/2]

bool UNavigationSystemV1::ReplaceAreaInOctreeData ( FNavigationElementHandle  Handle,
TSubclassOf< UNavArea OldArea,
TSubclassOf< UNavArea NewArea,
bool  bReplaceChildClasses = false 
)

fetched element's data from the octree and replaces occurrences of OldArea with NewArea

◆ RequestAreaRegistering()

void UNavigationSystemV1::RequestAreaRegistering ( UClass NavAreaClass)
static

◆ RequestAreaUnregistering()

void UNavigationSystemV1::RequestAreaUnregistering ( UClass NavAreaClass)
static

◆ RequestCustomLinkRegistering()

void UNavigationSystemV1::RequestCustomLinkRegistering ( INavLinkCustomInterface CustomLink,
UObject OwnerOb 
)
static

◆ RequestCustomLinkUnregistering()

void UNavigationSystemV1::RequestCustomLinkUnregistering ( INavLinkCustomInterface CustomLink,
UObject ObjectOb 
)
static

◆ RequestRegistrationDeferred()

void UNavigationSystemV1::RequestRegistrationDeferred ( ANavigationData NavData)
virtual

Adds NavData to registration candidates queue - NavDataRegistrationQueue

◆ RequiresNavOctree()

bool UNavigationSystemV1::RequiresNavOctree ( ) const
protected

Whether Navigation system needs to populate nav octree. Depends on runtime generation settings of each navigation data, always true in the editor

◆ ResetCachedFilter()

void UNavigationSystemV1::ResetCachedFilter ( TSubclassOf< UNavigationQueryFilter FilterClass)

removes cached filters from currently registered navigation data

◆ ResetMaxSimultaneousTileGenerationJobsCount()

void UNavigationSystemV1::ResetMaxSimultaneousTileGenerationJobsCount ( )

Brings limit of simultaneous navmesh tile generation jobs back to Project Setting's default value

◆ SetBuildBounds()

void UNavigationSystemV1::SetBuildBounds ( const FBox Bounds)
overridevirtual

Set limiting bounds to be used when building navigation data.

◆ SetCrowdManager()

void UNavigationSystemV1::SetCrowdManager ( UCrowdManagerBase NewCrowdManager)
protected

◆ SetGeometryGatheringMode()

void UNavigationSystemV1::SetGeometryGatheringMode ( ENavDataGatheringModeConfig  NewMode)

◆ SetMaxSimultaneousTileGenerationJobsCount()

void UNavigationSystemV1::SetMaxSimultaneousTileGenerationJobsCount ( int32  MaxNumberOfJobs)

will limit the number of simultaneously running navmesh tile generation jobs to specified number.

Parameters
MaxNumberOfJobsgets trimmed to be at least 1. You cannot use this function to pause navmesh generation

◆ SetNavigationOctreeLock()

void UNavigationSystemV1::SetNavigationOctreeLock ( bool  bLock)

◆ SetSupportedAgentsMask()

void UNavigationSystemV1::SetSupportedAgentsMask ( const FNavAgentSelector InSupportedAgentsMask)

◆ SetSupportedAgentsNavigationClass()

void UNavigationSystemV1::SetSupportedAgentsNavigationClass ( int32  AgentIndex,
TSubclassOf< ANavigationData NavigationDataClass 
)
protected

Used to properly set navigation class for indicated agent and propagate information to other places (like project settings) that may need this information

◆ SetUpdateNavOctreeOnComponentChange()

void UNavigationSystemV1::SetUpdateNavOctreeOnComponentChange ( bool  bNewUpdateOnComponentChange)
static

◆ ShouldAllowClientSideNavigation()

bool UNavigationSystemV1::ShouldAllowClientSideNavigation ( ) const
inline

◆ ShouldCreateNavigationSystemInstance()

bool UNavigationSystemV1::ShouldCreateNavigationSystemInstance ( const UWorld World) const
overridevirtual

Indicates whether navigation is allowed for a given world.

Parameters
WorldThe world in which the navigation would be used
Returns
whether the navigation system can be used in the specified world or not

◆ ShouldDiscardSubLevelNavData()

virtual bool UNavigationSystemV1::ShouldDiscardSubLevelNavData ( ANavigationData NavData = nullptr) const
inlinevirtual

◆ ShouldGenerateNavigationEverywhere()

bool UNavigationSystemV1::ShouldGenerateNavigationEverywhere ( ) const
inline

◆ ShouldGeneratorRun()

bool UNavigationSystemV1::ShouldGeneratorRun ( const FNavDataGenerator Generator) const

Super-hacky safety feature for threaded navmesh building. Will be gone once figure out why keeping TSharedPointer to Navigation Generator doesn't guarantee its existence

◆ ShouldLoadNavigationOnClient()

virtual bool UNavigationSystemV1::ShouldLoadNavigationOnClient ( ANavigationData NavData = nullptr) const
inlinevirtual

◆ ShouldUpdateNavOctreeOnComponentChange()

static bool UNavigationSystemV1::ShouldUpdateNavOctreeOnComponentChange ( )
inlinestatic

◆ SpawnMissingNavigationData()

void UNavigationSystemV1::SpawnMissingNavigationData ( )
protectedvirtual

◆ SpawnMissingNavigationDataInLevel()

void UNavigationSystemV1::SpawnMissingNavigationDataInLevel ( const TBitArray<> &  InInstantiatedMask,
ULevel InLevel = nullptr 
)
protected

Spawns missing navigation data.

Parameters
InInstantiatedMaskThe mask representing already instantiated navigation data.
InLevelLevel in which the new data must be added. See CreateNavigationDataInstanceInLevel doc.

◆ SupportsDynamicChanges()

bool UNavigationSystemV1::SupportsDynamicChanges ( UWorld World)
static

◆ SupportsNavigationGeneration()

bool UNavigationSystemV1::SupportsNavigationGeneration ( ) const
inline

◆ TestPathSync()

bool UNavigationSystemV1::TestPathSync ( FPathFindingQuery  Query,
EPathFindingMode::Type  Mode = EPathFindingMode::Regular,
int32 NumVisitedNodes = NULL 
) const

Synchronously check if path between two points exists Does not return path object, but will run faster (especially in hierarchical mode)

Parameters
Modeswitch between normal and hierarchical path finding algorithms.
Note
Hierarchical mode ignores QueryFilter
Returns
true if path exists

◆ Tick()

void UNavigationSystemV1::Tick ( float  DeltaSeconds)
overridevirtual

◆ TriggerAsyncQueries()

void UNavigationSystemV1::TriggerAsyncQueries ( TArray< FAsyncPathFindingQuery > &  PathFindingQueries)
protected

spawns a non-game-thread task to process requests given in PathFindingQueries. In the process PathFindingQueries gets copied.

◆ UnregisterComponent()

void UNavigationSystemV1::UnregisterComponent ( UActorComponent Comp)
static

◆ UnregisterComponentToNavOctree()

void UNavigationSystemV1::UnregisterComponentToNavOctree ( UActorComponent Comp)
staticprotected

◆ UnregisterCustomLink()

void UNavigationSystemV1::UnregisterCustomLink ( INavLinkCustomInterface CustomLink)

◆ UnregisterInvoker() [1/2]

void UNavigationSystemV1::UnregisterInvoker ( AActor Invoker)
virtual

◆ UnregisterInvoker() [2/2]

void UNavigationSystemV1::UnregisterInvoker ( const TWeakInterfacePtr< INavigationInvokerInterface > &  Invoker)
virtual

◆ UnregisterNavAreaClass()

void UNavigationSystemV1::UnregisterNavAreaClass ( UClass NavAreaClass)
protected

tries to unregister navigation area

◆ UnregisterNavData()

void UNavigationSystemV1::UnregisterNavData ( ANavigationData NavData)
virtual

◆ UnregisterNavigationElementWithOctree()

void UNavigationSystemV1::UnregisterNavigationElementWithOctree ( const TSharedRef< const FNavigationElement > &  Element,
int32  UpdateFlags 
)
protected

◆ UnregisterNavigationInvoker() [1/2]

void UNavigationSystemV1::UnregisterNavigationInvoker ( AActor Invoker)
static

◆ UnregisterNavigationInvoker() [2/2]

void UNavigationSystemV1::UnregisterNavigationInvoker ( AActor Invoker)

Removes given actor from the list of active navigation enforcers.

See also
RegisterNavigationInvoker for more details

◆ UnregisterNavOctreeElement()

void UNavigationSystemV1::UnregisterNavOctreeElement ( UObject ElementOwner,
INavRelevantInterface ElementInterface,
int32  UpdateFlags 
)
protected

◆ UnregisterNavRelevantObjectInternal()

void UNavigationSystemV1::UnregisterNavRelevantObjectInternal ( const UObject Object)
protected

Similar to UnregisterNavRelevantObjectStatic but uses the cached repository.

◆ UnregisterNavRelevantObjectStatic()

void UNavigationSystemV1::UnregisterNavRelevantObjectStatic ( const UObject Object)
staticprotected

Fetches the repository from the provided object and unregisters the object with it.

◆ UnregisterUnusedNavData()

void UNavigationSystemV1::UnregisterUnusedNavData ( )
virtual

Traverses SupportedAgents and for all agents not supported (i.e. filtered out by SupportedAgentsMask) checks if there's a currently registered NavigationData instance for that agent, and if so it unregisters that agent

◆ UpdateAbstractNavData()

void UNavigationSystemV1::UpdateAbstractNavData ( )
protectedvirtual

Find or create abstract nav data

◆ UpdateActorAndComponentsInNavOctree()

void UNavigationSystemV1::UpdateActorAndComponentsInNavOctree ( AActor Actor,
bool  bUpdateAttachedActors = true 
)
static

update all navoctree entries for actor and its components

◆ UpdateActorInNavOctree()

void UNavigationSystemV1::UpdateActorInNavOctree ( AActor Actor)
static

update navoctree entry for specified actor/component

◆ UpdateAttachedActorsInNavOctree()

void UNavigationSystemV1::UpdateAttachedActorsInNavOctree ( AActor RootActor)
staticprotected

updates navoctree information on actors attached to RootActor

◆ UpdateComponentInNavOctree()

void UNavigationSystemV1::UpdateComponentInNavOctree ( UActorComponent Comp)
static

◆ UpdateCustomLink()

void UNavigationSystemV1::UpdateCustomLink ( const INavLinkCustomInterface CustomLink)

updates custom link for all active navigation data instances

◆ UpdateNavDataActiveTiles()

void UNavigationSystemV1::UpdateNavDataActiveTiles ( )
protectedvirtual

◆ UpdateNavOctreeAfterMove()

void UNavigationSystemV1::UpdateNavOctreeAfterMove ( USceneComponent *  Comp)
static

update all navoctree entries for actor and its non scene components after root movement

◆ UpdateNavOctreeBounds()

void UNavigationSystemV1::UpdateNavOctreeBounds ( AActor Actor)
static

updates bounds of all components implementing INavRelevantInterface

◆ UpdateNavOctreeElement() [1/2]

void UNavigationSystemV1::UpdateNavOctreeElement ( FNavigationElementHandle  Handle,
const TSharedRef< const FNavigationElement > &  Element,
int32  UpdateFlags 
)

update single element in navoctree

◆ UpdateNavOctreeElement() [2/2]

void UNavigationSystemV1::UpdateNavOctreeElement ( UObject ElementOwner,
INavRelevantInterface ElementInterface,
int32  UpdateFlags 
)

◆ UpdateNavOctreeElementBounds() [1/2]

bool UNavigationSystemV1::UpdateNavOctreeElementBounds ( FNavigationElementHandle  Handle,
const FBox NewBounds,
TConstArrayView< FBox DirtyAreas 
)

update element's bounds in navigation octree and mark only specified area as dirty, doesn't re-export geometry

◆ UpdateNavOctreeElementBounds() [2/2]

bool UNavigationSystemV1::UpdateNavOctreeElementBounds ( UObject Object,
const FBox NewBounds,
TConstArrayView< FBox DirtyAreas 
)

◆ UpdateNavOctreeParentChain()

void UNavigationSystemV1::UpdateNavOctreeParentChain ( UObject ElementOwner,
bool  bSkipElementOwnerUpdate = false 
)

◆ UpdateNavRelevantObjectInNavOctree()

void UNavigationSystemV1::UpdateNavRelevantObjectInNavOctree ( UObject Object)
static

◆ UpdateNavRelevantObjectInNavOctreeStatic()

void UNavigationSystemV1::UpdateNavRelevantObjectInNavOctreeStatic ( const INavRelevantInterface InNavRelevantObject,
const UObject InObject,
UNavigationSystemV1 InNavigationSystem,
TFunctionRef< void(UNavigationSystemV1 &, const TSharedRef< const FNavigationElement > &)>  InCallback 
)
staticprotected

In actor/component code paths it is possible that updates get called without a previous call to register (wasn't relevant at that time). In those cases we create a new, or an updated, navigation element if needed.

Note
Method expects only navigation relevant objects and will ensure otherwise.

◆ VerifyNavigationRenderingComponents()

void UNavigationSystemV1::VerifyNavigationRenderingComponents ( const bool  bShow)

Member Data Documentation

◆ AbstractNavData

TObjectPtr<ANavigationData> UNavigationSystemV1::AbstractNavData

special navigation data for managing direct paths, not part of NavDataSet!

◆ ActiveTilesUpdateInterval

float UNavigationSystemV1::ActiveTilesUpdateInterval
protected

Minimal time, in seconds, between active tiles set update

◆ AgentToNavDataMap

TMap<FNavAgentProperties, TWeakObjectPtr<ANavigationData> > UNavigationSystemV1::AgentToNavDataMap
protected

◆ AsyncPathFindingCompletedQueries

TArray<FAsyncPathFindingQuery> UNavigationSystemV1::AsyncPathFindingCompletedQueries
protected

Queued async pathfinding results computed by the dedicated task in the last frame and ready to dispatch in the next update.

◆ AsyncPathFindingQueries

TArray<FAsyncPathFindingQuery> UNavigationSystemV1::AsyncPathFindingQueries
protected

Queued async pathfinding queries to process in the next update.

◆ AsyncPathFindingTask

FGraphEventRef UNavigationSystemV1::AsyncPathFindingTask
protected

Graph event that the main thread will wait for to synchronize with the async pathfinding task, if any.

◆ bAbortAsyncQueriesRequested

TAtomic<bool> UNavigationSystemV1::bAbortAsyncQueriesRequested
protected

Flag used by main thread to ask the async pathfinding task to stop and postpone remaining queries, if any.

◆ bAllowClientSideNavigation

uint32 UNavigationSystemV1::bAllowClientSideNavigation
protected

If false, will not create nav collision when connecting as a client

◆ bAsyncBuildPaused

uint8 UNavigationSystemV1::bAsyncBuildPaused
protected

◆ bAutoCreateNavigationData

uint32 UNavigationSystemV1::bAutoCreateNavigationData
protected

Should navigation system spawn default Navigation Data when there's none and there are navigation bounds present?

◆ bCleanUpDone

uint8 UNavigationSystemV1::bCleanUpDone
protected

set when the NavSys instance has been cleaned up. This is an irreversible state

◆ bGenerateNavigationOnlyAroundNavigationInvokers

uint32 UNavigationSystemV1::bGenerateNavigationOnlyAroundNavigationInvokers
protected

If set to true navigation will be generated only around registered "navigation enforcers" This has a range of consequences (including how navigation octree operates) so it needs to be a conscious decision. Once enabled results in whole world being navigable.

See also
RegisterNavigationInvoker

◆ bInitialBuildingLocked

uint32 UNavigationSystemV1::bInitialBuildingLocked

if set to true will result navigation system not rebuild navigation until a call to ReleaseInitialBuildingLock() is called. Does not influence editor-time generation (i.e. does influence PIE and Game). Defaults to false.

◆ bInitialLevelsAdded

uint8 UNavigationSystemV1::bInitialLevelsAdded
protected

◆ bInitialSetupHasBeenPerformed

uint8 UNavigationSystemV1::bInitialSetupHasBeenPerformed
protected

◆ bIsPIEActive

bool UNavigationSystemV1::bIsPIEActive = false
staticprotected

◆ bNavigationAutoUpdateEnabled

bool UNavigationSystemV1::bNavigationAutoUpdateEnabled = true
staticprotected

whether seamless navigation building is enabled

◆ bShouldDiscardSubLevelNavData

uint32 UNavigationSystemV1::bShouldDiscardSubLevelNavData
protected

If true, games should ignore navigation data inside loaded sublevels

◆ bSkipAgentHeightCheckWhenPickingNavData

uint32 UNavigationSystemV1::bSkipAgentHeightCheckWhenPickingNavData

false by default, if set to true will result in not caring about nav agent height when trying to match navigation data to passed in nav agent

◆ bSpawnNavDataInNavBoundsLevel

uint32 UNavigationSystemV1::bSpawnNavDataInNavBoundsLevel
protected

If true will try to spawn the navigation data instance in the sublevel with navigation bounds, if false it will spawn in the persistent level

◆ bStaticRuntimeNavigation

bool UNavigationSystemV1::bStaticRuntimeNavigation = false
staticprotected

◆ bSupportRebuilding

uint32 UNavigationSystemV1::bSupportRebuilding
protected

gets set to true if gathering navigation data (like in navoctree) is required due to the need of navigation generation Is always true in Editor Mode. In other modes it depends on bRebuildAtRuntime of every required NavigationData class' CDO

◆ bTickWhilePaused

uint32 UNavigationSystemV1::bTickWhilePaused
protected

If true, will update navigation even when the game is paused

◆ BuildBounds

FBox UNavigationSystemV1::BuildBounds

Bounds of tiles to be built

◆ bUpdateNavOctreeOnComponentChange

bool UNavigationSystemV1::bUpdateNavOctreeOnComponentChange = true
staticprotected

◆ bWholeWorldNavigable

uint32 UNavigationSystemV1::bWholeWorldNavigable

If set to true (default) navigation will be generated only within special navigation bounds volumes (like ANavMeshBoundsVolume). Set to false means navigation should be generated everywhere.

◆ bWorldInitDone

uint8 UNavigationSystemV1::bWorldInitDone
protected

◆ CrowdManagerClass

TSoftClassPtr<UCrowdManagerBase> UNavigationSystemV1::CrowdManagerClass
protected

◆ CurrentlyDrawnNavDataIndex

int32 UNavigationSystemV1::CurrentlyDrawnNavDataIndex
protected

indicates which of multiple navigation data instances to draw

◆ CustomNavLinksMap

TMap<FNavLinkId, FNavigationSystem::FCustomLinkOwnerInfo> UNavigationSystemV1::CustomNavLinksMap
protected

◆ DataGatheringMode

ENavDataGatheringModeConfig UNavigationSystemV1::DataGatheringMode
protected

Sets how navigation data should be gathered when building collision information

◆ DefaultAgentName

FName UNavigationSystemV1::DefaultAgentName
protected

If not None indicates which of navigation datas and supported agents are going to be used as the default ones. If navigation agent of this type does not exist or is not enabled then the first available nav data will be used as the default one

◆ DefaultDirtyAreasController

FNavigationDirtyAreasController UNavigationSystemV1::DefaultDirtyAreasController
protected

◆ DefaultOctreeController

FNavigationOctreeController UNavigationSystemV1::DefaultOctreeController
protected

◆ DirtyAreaWarningSizeThreshold

float UNavigationSystemV1::DirtyAreaWarningSizeThreshold
protected

-1 by default, if set to a positive value dirty areas with any dimensions in 2d over the threshold created at runtime will be logged

◆ ExecHandler

FNavigationSystemExec UNavigationSystemV1::ExecHandler
staticprotected

self-registering exec command to handle nav sys console commands

◆ GatheringNavModifiersWarningLimitTime

float UNavigationSystemV1::GatheringNavModifiersWarningLimitTime
protected

-1.0f by default, if set to a positive value, all calls to GetNavigationData will be timed and compared to it. Over the limit calls will be logged as warnings. In seconds. Non-shipping build only.

◆ GeometryExportTriangleCountWarningThreshold

int32 UNavigationSystemV1::GeometryExportTriangleCountWarningThreshold = 200000

Warnings are logged if exporting the navigation collision for an object exceed this triangle count. Use -1 to disable.

◆ InitialNavBuildingLockFlags

uint8 UNavigationSystemV1::InitialNavBuildingLockFlags
protected

set of locking flags applied on startup of navigation system

◆ InvokersMaximumDistanceFromSeed

double UNavigationSystemV1::InvokersMaximumDistanceFromSeed = -1
protected

When in use, invokers farther away from any invoker seed will be ignored (set to -1 to disable).

◆ MainNavData

TObjectPtr<ANavigationData> UNavigationSystemV1::MainNavData

◆ NavAreaClasses

TSet<TObjectPtr<const UClass> > UNavigationSystemV1::NavAreaClasses
protected

◆ NavBuildingLockFlags

uint8 UNavigationSystemV1::NavBuildingLockFlags
protected

◆ NavDataRegistration

FCriticalSection UNavigationSystemV1::NavDataRegistration
protected

◆ NavDataRegistrationQueue

TArray<TObjectPtr<ANavigationData> > UNavigationSystemV1::NavDataRegistrationQueue

◆ NavDataRegistrationSection

FCriticalSection UNavigationSystemV1::NavDataRegistrationSection
protected

◆ NavDataSet

TArray<TObjectPtr<ANavigationData> > UNavigationSystemV1::NavDataSet

◆ NavigableWorldBounds

FBox UNavigationSystemV1::NavigableWorldBounds
mutableprotected

cached navigable world bounding box

◆ NavigationDirtyEvent

UNavigationSystemV1::FOnNavigationDirty UNavigationSystemV1::NavigationDirtyEvent
static

called after navigation influencing event takes place

◆ NavRegenTimeSliceManager

FNavRegenTimeSliceManager UNavigationSystemV1::NavRegenTimeSliceManager
protected

◆ OnNavDataRegisteredEvent

FOnNavDataGenericEvent UNavigationSystemV1::OnNavDataRegisteredEvent

◆ OnNavigationGenerationFinishedDelegate

FOnNavDataGenericEvent UNavigationSystemV1::OnNavigationGenerationFinishedDelegate

◆ OnNavigationInitDone

FOnNavigationInitDone UNavigationSystemV1::OnNavigationInitDone

◆ OperationMode

FNavigationSystemRunMode UNavigationSystemV1::OperationMode
protected

◆ PendingNavBoundsUpdates

TArray<FNavigationBoundsUpdateRequest> UNavigationSystemV1::PendingNavBoundsUpdates

◆ RegisteredNavBounds

TSet<FNavigationBounds> UNavigationSystemV1::RegisteredNavBounds
protected

All areas where we build/have navigation

◆ ReloadCompleteDelegateHandle

FDelegateHandle UNavigationSystemV1::ReloadCompleteDelegateHandle
protected

◆ Repository

TObjectPtr<UNavigationObjectRepository> UNavigationSystemV1::Repository = nullptr
protected

◆ SupportedAgents

TArray<FNavDataConfig> UNavigationSystemV1::SupportedAgents
protected

List of agents types supported by this navigation system

◆ SupportedAgentsMask

FNavAgentSelector UNavigationSystemV1::SupportedAgentsMask
protected

NavigationSystem's properties in Project Settings define all possible supported agents, but a specific navigation system can choose to support only a subset of agents. Set via NavigationSystemConfig


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