Navigation
API > API/Runtime > API/Runtime/NavigationSystem
| Name | UNavigationSystemV1 |
| Type | class |
| Header File | /Engine/Source/Runtime/NavigationSystem/Public/NavigationSystem.h |
| Include Path | #include "NavigationSystem.h" |
Syntax
UCLASS (Within=World, Config=Engine, defaultconfig, MinimalAPI)
class UNavigationSystemV1 : public UNavigationSystemBase
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UNavigationSystemBase → UNavigationSystemV1
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UNavigationSystemV1
(
const FObjectInitializer& ObjectInitializer |
NavigationSystem.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~UNavigationSystemV1() |
NavigationSystem.h |
Enums
Public
| Name | Remarks |
|---|---|
| ELockRemovalRebuildAction | |
| EOctreeUpdateMode | EOctreeUpdateMode is deprecated. Use FNavigationOctreeController::EOctreeUpdateMode instead. |
| ERegistrationResult |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnNavigationDirty | TMulticastDelegate_OneParam< void, const FBox & > | Delegate type for events that dirty the navigation data ( Params: const FBox& DirtyBounds ) | NavigationSystem.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| bIsPIEActive | bool | NavigationSystem.h | |
| bNavigationAutoUpdateEnabled | bool | Whether seamless navigation building is enabled | NavigationSystem.h |
| bStaticRuntimeNavigation | bool | NavigationSystem.h | |
| bUpdateNavOctreeOnComponentChange | bool | NavigationSystem.h | |
| ExecHandler | FNavigationSystemExec | Self-registering exec command to handle nav sys console commands | NavigationSystem.h |
| NavigationDirtyEvent | FOnNavigationDirty | Called after navigation influencing event takes place | NavigationSystem.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AbstractNavData | TObjectPtr< ANavigationData > | Special navigation data for managing direct paths, not part of NavDataSet! | NavigationSystem.h |
|
| bInitialBuildingLocked | uint32 | If set to true will result navigation system not rebuild navigation until a call to ReleaseInitialBuildingLock() is called. | NavigationSystem.h |
|
| bSkipAgentHeightCheckWhenPickingNavData | uint32 | 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 | NavigationSystem.h |
|
| BuildBounds | FBox | Bounds of tiles to be built | NavigationSystem.h |
|
| bWholeWorldNavigable | uint32 | If set to true (default) navigation will be generated only within special navigation bounds volumes (like ANavMeshBoundsVolume). | NavigationSystem.h | |
| GeometryExportTriangleCountWarningThreshold | int32 | Warnings are logged if exporting the navigation collision for an object exceed this triangle count. | NavigationSystem.h |
|
| MainNavData | TObjectPtr< ANavigationData > | NavigationSystem.h |
|
|
| NavDataRegistrationQueue | TArray< TObjectPtr< ANavigationData > > | NavigationSystem.h |
|
|
| NavDataSet | TArray< TObjectPtr< ANavigationData > > | NavigationSystem.h |
|
|
| OnNavDataRegisteredEvent | FOnNavDataGenericEvent | NavigationSystem.h |
|
|
| OnNavigationGenerationFinishedDelegate | FOnNavDataGenericEvent | NavigationSystem.h |
|
|
| OnNavigationInitDone | FOnNavigationInitDone | NavigationSystem.h | ||
| PendingNavBoundsUpdates | TArray< FNavigationBoundsUpdateRequest > | List of pending navigation bounds update requests (add, remove, update size) | NavigationSystem.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bNavDataRemovedDueToMissingNavBounds | uint32 | Set to true when navigation processing was blocked due to missing nav bounds | NavigationSystem.h | |
| CrowdManager | TWeakObjectPtr< UCrowdManagerBase > | NavigationSystem.h | ||
| InvokerLocations | TArray< FNavigationInvokerRaw > | Contains pre-digested and cached invokers' info. Generated by UpdateInvokers | NavigationSystem.h | |
| Invokers | TMap< UObject *, FNavigationInvoker > | NavigationSystem.h | ||
| InvokersSeedBounds | TArray< FBox > | NavigationSystem.h | ||
| NextInvokersUpdateTime | double | NavigationSystem.h | ||
| UNavigationSystemModuleConfig | friend | NavigationSystem.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AbortAsyncFindPathRequest
(
uint32 AsynPathQueryID |
Removes query indicated by given ID from queue of path finding requests to process. | NavigationSystem.h | |
void AddDirtyArea
(
const FBox& NewArea, |
NavigationSystem.h | ||
void AddDirtyArea
(
const FBox& NewArea, |
NavigationSystem.h | ||
void AddDirtyArea
(
const FBox& NewArea, |
NavigationSystem.h | ||
void AddDirtyArea
(
const FBox& NewArea, |
NavigationSystem.h | ||
void AddDirtyAreas
(
const TArray< FBox >& NewAreas, |
NavigationSystem.h | ||
void AddDirtyAreas
(
const TArray< FBox >& NewAreas, |
NavigationSystem.h | ||
void AddNavigationBuildLock
(
uint8 Flags |
NavigationSystem.h | ||
void AddNavigationUpdateLock
(
uint8 Flags |
NavigationSystem.h | ||
virtual void Build () |
Building | NavigationSystem.h | |
virtual void CancelBuild() |
Cancels all currently running navigation builds | NavigationSystem.h | |
bool CanRebuildDirtyNavigation() |
Checks if dirty navigation data can rebuild itself | NavigationSystem.h | |
FSharedNavQueryFilter CreateDefaultQueryFilterCopy() |
NavigationSystem.h | ||
virtual ANavigationData * CreateNavigationDataInstanceInLevel
(
const FNavDataConfig& NavConfig, |
Constructs a navigation data instance of specified NavDataClass, in passed Level for supplied NavConfig. | NavigationSystem.h | |
void CycleNavigationDataDrawn() |
Debug | NavigationSystem.h | |
void DebugLogInvokers
(
FOutputDevice& OutputDevice |
NavigationSystem.h | ||
void DemandLazyDataGathering
(
FNavigationRelevantData& ElementData |
NavigationSystem.h | ||
void DescribeFilterFlags
(
UEnum* FlagsEnum |
Filters. | NavigationSystem.h | |
void DescribeFilterFlags
(
const TArray< FString >& FlagsDesc |
Prepare descriptions of navigation flags in UNavigationQueryFilter class: using array | NavigationSystem.h | |
void FindElementsInNavOctree
(
const FBox& QueryBox, |
Find all elements in navigation octree within given box (intersection) | NavigationSystem.h | |
uint32 FindPathAsync
(
const FNavAgentProperties& AgentProperties, |
Asynchronously looks for a path from @StartLocation to @EndLocation for agent with properties @AgentProperties. | NavigationSystem.h | |
FPathFindingResult FindPathSync
(
FPathFindingQuery Query, |
Does a simple path finding from @StartLocation to @EndLocation on specified NavData. | NavigationSystem.h | |
FPathFindingResult FindPathSync
(
const FNavAgentProperties& AgentProperties, |
Synchronously looks for a path from @fLocation to @EndLocation for agent with properties @AgentProperties. | NavigationSystem.h | |
| NavigationSystem.h | |||
ANavigationData * GetAbstractNavData() |
NavigationSystem.h | ||
UCrowdManagerBase * GetCrowdManager() |
NavigationSystem.h | ||
INavLinkCustomInterface * GetCustomLink
(
uint32 UniqueLinkId |
NavigationSystem.h | ||
INavLinkCustomInterface * GetCustomLink
(
FNavLinkId UniqueLinkId |
Find custom link by unique ID | NavigationSystem.h | |
const FNavigationRelevantData * GetDataForElement
(
FNavigationElementHandle Element |
NavigationSystem.h | ||
const FNavigationRelevantData * GetDataForObject
(
const UObject& Object |
NavigationSystem.h | ||
| NavigationSystem.h | |||
ANavigationData * GetDefaultNavDataInstance
(
FNavigationSystem::ECreateIfMissing CreateNewIfNoneFound |
Returns the world default navigation data instance. Creates one if it doesn't exist. | NavigationSystem.h | |
const FNavDataConfig & GetDefaultSupportedAgentConfig() |
NavigationSystem.h | ||
float GetDirtyAreaWarningSizeThreshold() |
NavigationSystem.h | ||
const TArray< FNavigationInvokerRaw > & GetInvokerLocations() |
NavigationSystem.h | ||
const TArray< FBox > & GetInvokersSeedBounds() |
NavigationSystem.h | ||
virtual bool GetIsAutoUpdateEnabled () |
Checks if auto-rebuilding navigation data is enabled. | NavigationSystem.h | |
FBox GetLevelBounds
(
ULevel* InLevel |
NavigationSystem.h | ||
ANavigationData & GetMainNavDataChecked() |
NavigationSystem.h | ||
FNavigationRelevantData * GetMutableDataForElement
(
FNavigationElementHandle Element |
NavigationSystem.h | ||
FNavigationRelevantData * GetMutableDataForObject
(
const UObject& Object |
NavigationSystem.h | ||
FNavigationOctree * GetMutableNavOctree() |
NavigationSystem.h | ||
FNavRegenTimeSliceManager & GetMutableNavRegenTimeSliceManager() |
NavigationSystem.h | ||
void GetNavAgentPropertiesArray
(
TArray< FNavAgentProperties >& OutNavAgentProperties |
Fetch the array of all nav-agent properties. | NavigationSystem.h | |
virtual ANavigationData * GetNavDataForAgentName
(
const FName AgentName |
Goes through all registered NavigationData instances and retrieves the one supporting agent named AgentName | NavigationSystem.h | |
virtual const ANavigationData * GetNavDataForProps
(
const FNavAgentProperties& AgentProperties |
Looks for NavData generated for specified movement properties and returns it. | NavigationSystem.h | |
virtual ANavigationData * GetNavDataForProps
(
const FNavAgentProperties& AgentProperties, |
Looks up NavData appropriate for specified movement properties and returns it. | NavigationSystem.h | |
virtual ANavigationData * GetNavDataForProps
(
const FNavAgentProperties& AgentProperties |
Looks for NavData generated for specified movement properties and returns it. NULL if not found; | NavigationSystem.h | |
const TSet< FNavigationBounds > & GetNavigationBounds() |
NavigationSystem.h | ||
virtual int GetNavigationBoundsForNavData
(
const ANavigationData& NavData, |
NavigationSystem.h | ||
const FNavigationOctree * GetNavOctree() |
NavigationSystem.h | ||
const FOctreeElementId2 * GetNavOctreeIdForElement
(
FNavigationElementHandle Element |
NavigationSystem.h | ||
int32 GetNumCustomLinks() |
NavigationSystem.h | ||
int32 GetNumDirtyAreas() |
NavigationSystem.h | ||
int32 GetNumRemainingBuildTasks() |
Used to display "navigation building in progress" counter | NavigationSystem.h | |
int32 GetNumRunningBuildTasks() |
Number of currently running tasks | NavigationSystem.h | |
const FOctreeElementId2 * GetObjectsNavOctreeId
(
const UObject& Object |
NavigationSystem.h | ||
void GetOnScreenMessages
(
TMultiMap< FCoreDelegates::EOnScreenMessageSeverity, FText >& OutMessages |
NavigationSystem.h | ||
FNavigationSystemRunMode GetOperationMode() |
NavigationSystem.h | ||
ENavigationQueryResult::Type GetPathCost
(
const FVector& PathStart, |
Calculates a path from PathStart to PathEnd and retrieves its cost. | NavigationSystem.h | |
ENavigationQueryResult::Type GetPathLength
(
const FVector& PathStart, |
Calculates a path from PathStart to PathEnd and retrieves its overestimated length. | NavigationSystem.h | |
ENavigationQueryResult::Type GetPathLengthAndCost
(
const FVector& PathStart, |
Calculates a path from PathStart to PathEnd and retrieves its overestimated length and cost. | NavigationSystem.h | |
bool GetRandomPoint
(
FNavLocation& ResultLocation, |
Finds random point in navigable space | NavigationSystem.h | |
bool GetRandomPointInNavigableRadius
(
const FVector& Origin, |
Finds random, point in navigable space restricted to Radius around Origin. | NavigationSystem.h | |
bool GetRandomReachablePointInRadius
(
const FVector& Origin, |
Finds random, reachable point in navigable space restricted to Radius around Origin | NavigationSystem.h | |
FNavigationSystemRunMode GetRunMode() |
NavigationSystem.h | ||
int32 GetSupportedAgentIndex
(
const FNavAgentProperties& NavAgent |
Find index in SupportedAgents array for agent type | NavigationSystem.h | |
int32 GetSupportedAgentIndex
(
const ANavigationData* NavData |
Find index in SupportedAgents array for given navigation data | NavigationSystem.h | |
const TArray< FNavDataConfig > & GetSupportedAgents() |
NavigationSystem.h | ||
FNavAgentSelector GetSupportedAgentsMask() |
NavigationSystem.h | ||
UWorld * GetWorld() |
NavigationSystem.h | ||
FBox GetWorldBounds() |
NavigationSystem.h | ||
bool HandleCountNavMemCommand() |
NavigationSystem.h | ||
bool HandleCycleNavDrawnCommand
(
const TCHAR* Cmd, |
Exec command handlers | NavigationSystem.h | |
bool HasDirtyAreasQueued() |
NavigationSystem.h | ||
bool HasPendingObjectNavOctreeId
(
UObject* Object |
NavigationSystem.h | ||
bool HasPendingUpdateForElement
(
FNavigationElementHandle Element |
NavigationSystem.h | ||
void InitializeLevelCollisions() |
Adds BSP collisions of currently streamed in levels to octree | NavigationSystem.h | |
bool IsActiveTilesGenerationEnabled() |
NavigationSystem.h | ||
bool IsInitialized() |
NavigationSystem.h | ||
bool IsNavigationBuildingLocked
(
uint8 Flags |
NavigationSystem.h | ||
bool IsNavigationBuildingPermanentlyLocked() |
Check if building is permanently locked to avoid showing navmesh building notify (due to queued dirty areas) | NavigationSystem.h | |
bool IsNavigationBuildInProgress() |
Determines whether any generator is performing navigation building actions at the moment, dirty areas are also checked | NavigationSystem.h | |
bool IsNavigationDirty() |
Checks if navigation/navmesh is dirty and needs to be rebuilt | NavigationSystem.h | |
bool IsNavigationOctreeLocked() |
Check if navigation octree updates are currently ignored | NavigationSystem.h | |
bool IsNavigationRegisterLocked() |
NavigationSystem.h | ||
bool IsNavigationRelevant
(
const AActor* TestActor |
NavigationSystem.h | ||
bool IsNavigationUnregisterLocked() |
NavigationSystem.h | ||
bool IsNavigationUpdateLocked() |
NavigationSystem.h | ||
bool IsSetUpForLazyGeometryExporting() |
NavigationSystem.h | ||
virtual bool IsThereAnywhereToBuildNavigation() |
NavigationSystem.h | ||
bool K2_ReplaceAreaInOctreeData
(
const UObject* Object, |
NavigationSystem.h |
|
|
virtual void OnNavigationBoundsAdded
(
ANavMeshBoundsVolume* NavVolume |
NavigationSystem.h |
|
|
virtual void OnNavigationBoundsRemoved
(
ANavMeshBoundsVolume* NavVolume |
NavigationSystem.h | ||
void OnNavigationBoundsUpdated
(
ANavMeshBoundsVolume* NavVolume |
NavigationSystem.h |
|
|
virtual void OnNavigationGenerationFinished
(
ANavigationData& NavData |
NavigationSystem.h | ||
void OnPIEEnd() |
NavigationSystem.h | ||
void OnPIEStart() |
NavigationSystem.h | ||
virtual void OnWorldInitDone
(
FNavigationSystemRunMode Mode |
NavigationSystem.h | ||
void OverrideSupportedAgents
(
const TArray< FNavDataConfig >& NewSupportedAgents |
NavigationSystem.h | ||
bool ProjectPointToNavigation
(
const FVector& Point, |
NavigationSystem.h | ||
bool ProjectPointToNavigation
(
const FVector& Point, |
NavigationSystem.h | ||
virtual void RegisterCustomLink
(
INavLinkCustomInterface& CustomLink |
Custom navigation links. | NavigationSystem.h | |
virtual void RegisterInvoker
(
AActor& Invoker, |
Active tiles. | NavigationSystem.h | |
virtual void RegisterInvoker
(
const TWeakInterfacePtr< INavigationInvokerInterface >& Invoker, |
NavigationSystem.h | ||
void RegisterNavigationInvoker
(
AActor* Invoker, |
Registers given actor as a "navigation enforcer" which means navigation system will make sure navigation is being generated in specified radius around it. | NavigationSystem.h |
|
virtual void ReleaseInitialBuildingLock() |
NavigationSystem.h | ||
void RemoveNavigationBuildLock
(
uint8 Flags, |
NavigationSystem.h | ||
void RemoveNavigationUpdateLock
(
uint8 Flags |
NavigationSystem.h | ||
void RemoveNavOctreeElementId
(
const FOctreeElementId2& ElementId, |
NavigationSystem.h | ||
void RemoveObjectsNavOctreeId
(
const UObject& Object |
NavigationSystem.h | ||
bool ReplaceAreaInOctreeData
(
FNavigationElementHandle Handle, |
Fetched element's data from the octree and replaces occurrences of OldArea with NewArea | NavigationSystem.h | |
bool ReplaceAreaInOctreeData
(
const UObject& Object, |
NavigationSystem.h | ||
virtual void RequestRegistrationDeferred
(
ANavigationData& NavData |
Adds NavData to registration candidates queue - NavDataRegistrationQueue | NavigationSystem.h | |
void ResetCachedFilter
(
TSubclassOf< UNavigationQueryFilter > FilterClass |
Removes cached filters from currently registered navigation data | NavigationSystem.h | |
void ResetMaxSimultaneousTileGenerationJobsCount() |
Brings limit of simultaneous navmesh tile generation jobs back to Project Setting's default value | NavigationSystem.h |
|
void SetGeometryGatheringMode
(
ENavDataGatheringModeConfig NewMode |
NavigationSystem.h |
|
|
void SetMaxSimultaneousTileGenerationJobsCount
(
int32 MaxNumberOfJobs |
Will limit the number of simultaneously running navmesh tile generation jobs to specified number. | NavigationSystem.h |
|
void SetNavigationOctreeLock
(
bool bLock |
NavigationSystem.h | ||
void SetSupportedAgentsMask
(
const FNavAgentSelector& InSupportedAgentsMask |
NavigationSystem.h | ||
bool ShouldAllowClientSideNavigation() |
NavigationSystem.h | ||
virtual bool ShouldDiscardSubLevelNavData
(
ANavigationData* NavData |
NavigationSystem.h | ||
bool ShouldGenerateNavigationEverywhere() |
NavigationSystem.h | ||
bool ShouldGeneratorRun
(
const FNavDataGenerator* Generator |
Super-hacky safety feature for threaded navmesh building. | NavigationSystem.h | |
virtual bool ShouldLoadNavigationOnClient
(
ANavigationData* NavData |
NavigationSystem.h | ||
bool SupportsNavigationGeneration() |
NavigationSystem.h | ||
bool TestPathSync
(
FPathFindingQuery Query, |
Synchronously check if path between two points exists Does not return path object, but will run faster (especially in hierarchical mode) | NavigationSystem.h | |
void UnregisterCustomLink
(
INavLinkCustomInterface& CustomLink |
NavigationSystem.h | ||
virtual void UnregisterInvoker
(
AActor& Invoker |
NavigationSystem.h | ||
virtual void UnregisterInvoker
(
const TWeakInterfacePtr< INavigationInvokerInterface >& Invoker |
NavigationSystem.h | ||
virtual void UnregisterNavData
(
ANavigationData* NavData |
Bookkeeping. | NavigationSystem.h | |
void UnregisterNavigationInvoker
(
AActor* Invoker |
Removes given actor from the list of active navigation enforcers. | NavigationSystem.h |
|
virtual void UnregisterUnusedNavData() |
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 | NavigationSystem.h | |
void UpdateCustomLink
(
const INavLinkCustomInterface* CustomLink |
Updates custom link for all active navigation data instances | NavigationSystem.h | |
void UpdateLevelCollision
(
ULevel* InLevel |
NavigationSystem.h | ||
void UpdateNavOctreeElement
(
UObject* ElementOwner, |
NavigationSystem.h | ||
void UpdateNavOctreeElement
(
FNavigationElementHandle Handle, |
Update single element in navoctree | NavigationSystem.h | |
bool UpdateNavOctreeElementBounds
(
UObject& Object, |
NavigationSystem.h | ||
bool UpdateNavOctreeElementBounds
(
FNavigationElementHandle Handle, |
Update element's bounds in navigation octree and mark only specified area as dirty, doesn't re-export geometry | NavigationSystem.h | |
void UpdateNavOctreeParentChain
(
UObject* ElementOwner, |
NavigationSystem.h | ||
void VerifyNavigationRenderingComponents
(
const bool bShow |
New stuff | NavigationSystem.h |
Overridden from UNavigationSystemBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddNavigationDataChunk
(
ANavigationDataChunkActor& DataChunkActor |
NavigationSystem.h | ||
virtual void AppendConfig
(
const UNavigationSystemConfig& NewConfig |
NavigationSystem.h | ||
virtual void ApplyWorldOffset
(
const FVector& InOffset, |
NavigationSystem.h | ||
virtual void CleanUp
(
const FNavigationSystem::ECleanupMode Mode |
Called upon UWorld destruction to release what needs to be released | NavigationSystem.h | |
virtual FBox ComputeNavDataBounds() |
NavigationSystem.h | ||
virtual void Configure
(
const UNavigationSystemConfig& Config |
NavigationSystem.h | ||
virtual bool ContainsNavData
(
const FBox& Bounds |
NavigationSystem.h | ||
virtual void FillNavigationDataChunkActor
(
const FBox& QueryBounds, |
NavigationSystem.h | ||
virtual INavigationDataInterface * GetMainNavData() |
Returns the world default navigation data instance. | NavigationSystem.h | |
virtual FBox GetNavigableWorldBounds() |
NavigationSystem.h | ||
virtual void InitializeForWorld
(
UWorld& World, |
NavigationSystem.h | ||
virtual bool IsNavigationBuilt
(
const AWorldSettings* Settings |
NavigationSystem.h | ||
virtual bool IsWorldInitDone() |
Returns true if world has been initialized. | NavigationSystem.h | |
virtual void OnInitializeActors() |
Called when owner-UWorld initializes actors | NavigationSystem.h | |
virtual void RemoveNavigationDataChunk
(
ANavigationDataChunkActor& DataChunkActor |
NavigationSystem.h | ||
virtual void SetBuildBounds
(
const FBox& Bounds |
Set limiting bounds to be used when building navigation data. | NavigationSystem.h | |
virtual bool ShouldCreateNavigationSystemInstance
(
const UWorld* World |
Indicates whether navigation is allowed for a given world. | NavigationSystem.h | |
virtual void Tick
(
float DeltaSeconds |
NavigationSystem.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void FinishDestroy() |
NavigationSystem.h | ||
virtual void PostEditChangeChainProperty
(
FPropertyChangedChainEvent& PropertyChangedEvent |
NavigationSystem.h | ||
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
NavigationSystem.h | ||
virtual void PostInitProperties() |
NavigationSystem.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddAsyncQuery
(
const FAsyncPathFindingQuery& Query |
Adds given request to requests queue. Note it's to be called only on game thread only | NavigationSystem.h | |
void AddElementToNavOctree
(
const FNavigationDirtyElement& DirtyElement |
Adds given element to NavOctree. | NavigationSystem.h | |
void AddLevelCollisionToOctree
(
ULevel* Level |
Add BSP collision data to navigation octree | NavigationSystem.h | |
virtual void AddLevelToOctree
(
ULevel& Level |
Called during ConditionalPopulateNavOctree and gives subclassess a chance to influence what gets added | NavigationSystem.h | |
void AddNavigationBounds
(
const FNavigationBounds& NewBounds |
Adds data to RegisteredNavBounds | NavigationSystem.h | |
void AddNavigationBoundsUpdateRequest
(
const FNavigationBoundsUpdateRequest& UpdateRequest |
Adds navigation bounds update request to a pending list | NavigationSystem.h | |
void ApplySupportedAgentsFilter() |
NavigationSystem.h | ||
| NavigationSystem.h | |||
virtual bool ConditionalPopulateNavOctree() |
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 | NavigationSystem.h | |
virtual void ConstructNavOctree() |
Called to instantiate NavigationSystem's NavOctree instance | NavigationSystem.h | |
virtual void CreateCrowdManager() |
Spawn new crowd manager | NavigationSystem.h | |
virtual void DestroyNavOctree() |
NavigationSystem.h | ||
void DispatchAsyncQueriesResults
(
const TArray< FAsyncPathFindingQuery >& PathFindingQueries |
Broadcasts completion delegate for all completed async pathfinding requests. | NavigationSystem.h | |
virtual void DoInitialSetup () |
Sets up SuportedAgents and NavigationDataCreators. | NavigationSystem.h | |
| Fills a mask indicating which navigation data associated to the supported agent mask are already instantiated. | NavigationSystem.h | ||
virtual void GatherNavigationBounds() |
Searches for all valid navigation bounds in the world and stores them | NavigationSystem.h | |
virtual void GetInvokerSeedLocations
(
const UWorld& InWorld, |
Get seed locations for invokers, | NavigationSystem.h | |
ANavigationData * GetNavDataWithID
(
const uint16 NavDataID |
NavigationSystem.h | ||
TSharedPtr< const FNavigationElement > GetNavigationElementForUObject
(
const UObject* |
NavigationSystem.h | ||
FNavigationElementHandle GetNavigationElementHandleForUObject
(
const UObject* |
NavigationSystem.h | ||
bool GetNavOctreeElementData
(
FNavigationElementHandle Element, |
Read element data from navigation octree | NavigationSystem.h | |
bool GetNavOctreeElementData
(
const UObject& NodeOwner, |
NavigationSystem.h | ||
ERuntimeGenerationType GetRuntimeGenerationType() |
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 | NavigationSystem.h | |
bool IsAllowedToRebuild() |
Whether Navigation System is allowed to rebuild the navmesh Depends on runtime generation settings of each navigation data, always true in the editor | NavigationSystem.h | |
void LogNavDataRegistrationResult
(
ERegistrationResult |
NavigationSystem.h | ||
void OnActorMoved
(
AActor* Actor |
Delegate handler for ActorMoved events | NavigationSystem.h | |
virtual void OnBeginTearingDown
(
UWorld* World |
Called as part of UWorld::BeginTearingDown | NavigationSystem.h | |
void OnGenerateNavigationOnlyAroundNavigationInvokersChanged() |
Handle forwarding the information where needed when the setting is changed | NavigationSystem.h | |
| Handler for FWorldDelegates::LevelAddedToWorld event | NavigationSystem.h | ||
| Handler for FWorldDelegates::LevelRemovedFromWorld event | NavigationSystem.h | ||
void OnNavigationAreaEvent
(
UClass* AreaClass, |
NavigationSystem.h | ||
void OnNavigationDirtied
(
const FBox& Bounds |
Delegate handler called when navigation is dirtied | NavigationSystem.h | |
void OnPostLoadMap
(
UWorld* LoadedWorld |
Delegate handler for PostLoadMap event | NavigationSystem.h | |
virtual void OnReloadComplete
(
EReloadCompleteReason Reason |
Called to notify NavigationSystem about finished reload | NavigationSystem.h | |
void OnWorldPostActorTick
(
UWorld* World, |
Handler for FWorldDelegates::OnWorldPostActorTick event | NavigationSystem.h | |
void PerformAsyncQueries
(
TArray< FAsyncPathFindingQuery > PathFindingQueries |
Processes pathfinding requests given in PathFindingQueries. | NavigationSystem.h | |
virtual void PerformNavigationBoundsUpdate
(
const TArray< FNavigationBoundsUpdateRequest >& UpdateRequests |
Used to apply updates of nav volumes in navigation system's tick | NavigationSystem.h | |
void PostponeAsyncQueries () |
Requests the async pathfinding task to abort and waits for it to complete before resuming the main thread. | NavigationSystem.h | |
void ProcessCustomLinkPendingRegistration() |
Registers custom navigation links awaiting registration in the navigation object repository | NavigationSystem.h | |
virtual void ProcessRegistrationCandidates() |
Processes registration of candidates queues via RequestRegistration and stored in NavDataRegistrationQueue | NavigationSystem.h | |
virtual void RebuildAll
(
bool bIsLoadTime |
Triggers navigation building on all eligible navigation data. | NavigationSystem.h | |
virtual void RebuildDirtyAreas
(
float DeltaSeconds |
NavigationSystem.h | ||
void RegisterNavAreaClass
(
UClass* NavAreaClass |
Tries to register navigation area | NavigationSystem.h | |
virtual ERegistrationResult RegisterNavData
(
ANavigationData* NavData |
Registers given navigation data with this Navigation System. | NavigationSystem.h | |
void RegisterNavigationDataInstances() |
Processes all NavigationData instances in UWorld owning navigation system instance, and registers all previously unregistered | NavigationSystem.h | |
FSetElementId RegisterNavigationElementWithNavOctree
(
const TSharedRef< const FNavigationElement >& Element, |
NavigationSystem.h | ||
FSetElementId RegisterNavOctreeElement
(
UObject* ElementOwner, |
NavigationSystem.h | ||
void RegisterNavRelevantObjectInternal
(
const INavRelevantInterface& NavRelevantObject, |
Similar to UnregisterNavRelevantObjectStatic but uses the cached repository. | NavigationSystem.h | |
void RemoveFromNavOctree
(
const FOctreeElementId2& ElementId, |
NavigationSystem.h | ||
void RemoveLevelCollisionFromOctree
(
ULevel* Level |
Remove BSP collision data from navigation octree | NavigationSystem.h | |
bool RequiresNavOctree () |
Whether Navigation system needs to populate nav octree. | NavigationSystem.h | |
void SetCrowdManager
(
UCrowdManagerBase* NewCrowdManager |
NavigationSystem.h | ||
void SetSupportedAgentsNavigationClass
(
int32 AgentIndex, |
Used to properly set navigation class for indicated agent and propagate information to other places (like project settings) that may need this information | NavigationSystem.h | |
virtual void SpawnMissingNavigationData() |
NavigationSystem.h | ||
| Spawns missing navigation data. | NavigationSystem.h | ||
void TriggerAsyncQueries
(
TArray< FAsyncPathFindingQuery >& PathFindingQueries |
Spawns a non-game-thread task to process requests given in PathFindingQueries. | NavigationSystem.h | |
void UnregisterNavAreaClass
(
UClass* NavAreaClass |
Tries to unregister navigation area | NavigationSystem.h | |
void UnregisterNavigationElementWithOctree
(
const TSharedRef< const FNavigationElement >& Element, |
NavigationSystem.h | ||
void UnregisterNavOctreeElement
(
UObject* ElementOwner, |
NavigationSystem.h | ||
void UnregisterNavRelevantObjectInternal
(
const UObject& Object |
Similar to UnregisterNavRelevantObjectStatic but uses the cached repository. | NavigationSystem.h | |
virtual void UpdateAbstractNavData() |
Find or create abstract nav data | NavigationSystem.h | |
virtual void UpdateNavDataActiveTiles() |
NavigationSystem.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FNavigationElementHandle AddNavigationElement
(
UWorld* World, |
NavigationSystem.h | ||
static void AddReferencedObjects
(
UObject* InThis, |
NavigationSystem.h | ||
static void ClearNavOctreeAll
(
AActor* Actor |
Removes all navoctree entries for actor and its components | NavigationSystem.h | |
static FBox ComputeCustomLinkBounds
(
const INavLinkCustomInterface& CustomLink |
Return a Bounding Box containing the navlink points | NavigationSystem.h | |
static void ConfigureAsStatic
(
bool bEnableStatic |
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. | NavigationSystem.h | |
static UNavigationSystemV1 * CreateNavigationSystem
(
UWorld* WorldOwner |
NavigationSystem.h | ||
static bool DoesPathIntersectBox
(
const FNavigationPath* Path, |
NavigationSystem.h | ||
static bool DoesPathIntersectBox
(
const FNavigationPath* Path, |
NavigationSystem.h | ||
static UNavigationPath * FindPathToActorSynchronously
(
UObject* WorldContextObject, |
Finds path instantly, in a FindPath Synchronously. | NavigationSystem.h |
|
static UNavigationPath * FindPathToLocationSynchronously
(
UObject* WorldContextObject, |
Finds path instantly, in a FindPath Synchronously. | NavigationSystem.h |
|
static int32 GetAllAttachedActors
(
const AActor& RootActor, |
A helper function that gathers all actors attached to RootActor and fetches them back. | NavigationSystem.h | |
static const FNavDataConfig & GetBiggestSupportedAgent
(
const UWorld* World |
NavigationSystem.h | ||
static UNavigationSystemV1 * GetCurrent
(
UObject* WorldContextObject |
NavigationSystem.h | ||
static UNavigationSystemV1 * GetCurrent
(
UWorld* World |
NavigationSystem.h | ||
static const FNavDataConfig & GetDefaultSupportedAgent() |
NavigationSystem.h | ||
static INavigationDataInterface * GetNavDataForActor
(
const AActor& Actor |
NavigationSystem.h | ||
static UNavigationSystemV1 * GetNavigationSystem
(
UObject* WorldContextObject |
Blueprint functions. | NavigationSystem.h |
|
static ENavigationQueryResult::Type GetPathCost
(
UObject* WorldContextObject, |
Potentially expensive. | NavigationSystem.h |
|
static ENavigationQueryResult::Type GetPathLength
(
UObject* WorldContextObject, |
Potentially expensive. Use with caution | NavigationSystem.h |
|
static double GetWorldPartitionNavigationDataBuilderOverlap
(
const UWorld& World |
NavigationSystem.h | ||
static uint32 HashObject
(
const UObject& Object |
NavigationSystem.h | ||
static bool IsNavigationBeingBuilt
(
UObject* WorldContextObject |
NavigationSystem.h |
|
|
static bool IsNavigationBeingBuiltOrLocked
(
UObject* WorldContextObject |
NavigationSystem.h |
|
|
static bool IsNavigationSystemStatic() |
NavigationSystem.h | ||
static bool K2_GetRandomLocationInNavigableRadius
(
UObject* WorldContextObject, |
Generates a random location in navigable space within given radius of Origin. | NavigationSystem.h |
|
static bool K2_GetRandomPointInNavigableRadius
(
UObject* WorldContextObject, |
DEPRECATED. | NavigationSystem.h |
|
static bool K2_GetRandomReachablePointInRadius
(
UObject* WorldContextObject, |
Generates a random location reachable from given Origin location. | NavigationSystem.h |
|
static bool K2_ProjectPointToNavigation
(
UObject* WorldContextObject, |
Project a point onto the NavigationData | NavigationSystem.h |
|
static bool NavigationRaycast
(
UObject* WorldContextObject, |
Performs navigation raycast on NavigationData appropriate for given Querier. | NavigationSystem.h |
|
static bool NavigationRaycastWithAdditionalResults
(
UObject* WorldContextObject, |
Performs navigation raycast on NavigationData appropriate for given Querier. | NavigationSystem.h | |
static void OnActorRegistered
(
AActor* Actor |
NavigationSystem.h | ||
static void OnActorUnregistered
(
AActor* Actor |
NavigationSystem.h | ||
static void OnComponentRegistered
(
UActorComponent* Comp |
NavigationSystem.h | ||
static void OnComponentUnregistered
(
UActorComponent* Comp |
NavigationSystem.h | ||
static void OnNavigationElementUpdated
(
UWorld* World, |
NavigationSystem.h | ||
static void OnNavRelevantObjectRegistered
(
UObject& Object |
NavigationSystem.h | ||
static void OnNavRelevantObjectUnregistered
(
UObject& Object |
NavigationSystem.h | ||
static void RegisterComponent
(
UActorComponent* Comp |
NavigationSystem.h | ||
static void RegisterComponentToNavOctree
(
UActorComponent* Comp |
NavigationSystem.h | ||
static void RegisterNavigationInvoker
(
AActor& Invoker, |
NavigationSystem.h | ||
static void RegisterNavRelevantObjectStatic
(
const INavRelevantInterface& NavRelevantObject, |
Fetches the repository from the provided object and registers the object with it. | NavigationSystem.h | |
static void RemoveNavigationElement
(
UWorld* World, |
NavigationSystem.h | ||
static void RequestAreaRegistering
(
UClass* NavAreaClass |
Areas. | NavigationSystem.h | |
static void RequestAreaUnregistering
(
UClass* NavAreaClass |
NavigationSystem.h | ||
static void RequestCustomLinkRegistering
(
INavLinkCustomInterface& CustomLink, |
NavigationSystem.h | ||
static void RequestCustomLinkUnregistering
(
INavLinkCustomInterface& CustomLink, |
NavigationSystem.h | ||
static void SetNavigationAutoUpdateEnabled
(
bool bNewEnable, |
Allow editor to toggle whether seamless navigation building is enabled | NavigationSystem.h | |
static void SetUpdateNavOctreeOnComponentChange
(
bool bNewUpdateOnComponentChange |
NavigationSystem.h | ||
static bool ShouldUpdateNavOctreeOnComponentChange() |
NavigationSystem.h | ||
static bool SupportsDynamicChanges
(
UWorld* World |
Navigation octree related functions | NavigationSystem.h | |
static void UnregisterComponent
(
UActorComponent* Comp |
NavigationSystem.h | ||
static void UnregisterComponentToNavOctree
(
UActorComponent* Comp |
NavigationSystem.h | ||
static void UnregisterNavigationInvoker
(
AActor& Invoker |
NavigationSystem.h | ||
static void UnregisterNavRelevantObjectStatic
(
const UObject& Object |
Fetches the repository from the provided object and unregisters the object with it. | NavigationSystem.h | |
static void UpdateActorAndComponentsInNavOctree
(
AActor& Actor, |
Update all navoctree entries for actor and its components | NavigationSystem.h | |
static void UpdateActorInNavOctree
(
AActor& Actor |
Update navoctree entry for specified actor/component | NavigationSystem.h | |
static void UpdateAttachedActorsInNavOctree
(
AActor& RootActor |
Updates navoctree information on actors attached to RootActor | NavigationSystem.h | |
static void UpdateComponentInNavOctree
(
UActorComponent& Comp |
NavigationSystem.h | ||
static void UpdateNavOctreeAfterMove
(
USceneComponent* Comp |
Update all navoctree entries for actor and its non scene components after root movement | NavigationSystem.h | |
static void UpdateNavOctreeBounds
(
AActor* Actor |
Updates bounds of all components implementing INavRelevantInterface | NavigationSystem.h | |
static void UpdateNavRelevantObjectInNavOctree
(
UObject& Object |
NavigationSystem.h | ||
static void UpdateNavRelevantObjectInNavOctreeStatic
(
const INavRelevantInterface& InNavRelevantObject, |
In actor/component code paths it is possible that updates get called without a previous call to register (wasn't relevant at that time). | NavigationSystem.h |