Navigation
API > API/Runtime > API/Runtime/NavigationSystem
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UNavigationSystemBase
- UNavigationSystemV1
References
| Module | NavigationSystem |
| Header | /Engine/Source/Runtime/NavigationSystem/Public/NavigationSystem.h |
| Include | #include "NavigationSystem.h" |
Syntax
class UNavigationSystemV1 : public UNavigationSystemBase
Variables
| Type | Name | Description | |
|---|---|---|---|
| TObjectPtr< ANavigationData > | AbstractNavData | Special navigation data for managing direct paths, not part of NavDataSet! | |
| float | ActiveTilesUpdateInterval | Minimal time, in seconds, between active tiles set update | |
| TMap< FNavAgentProperties, TWeakObjectPtr< ANavigationData > > | AgentToNavDataMap | ||
| TArray< FAsyncPathFindingQuery > | AsyncPathFindingCompletedQueries | Queued async pathfinding results computed by the dedicated task in the last frame and ready to dispatch in the next update. | |
| TArray< FAsyncPathFindingQuery > | AsyncPathFindingQueries | Queued async pathfinding queries to process in the next update. | |
| FGraphEventRef | AsyncPathFindingTask | Graph event that the main thread will wait for to synchronize with the async pathfinding task, if any. | |
| TAtomic< bool > | bAbortAsyncQueriesRequested | Flag used by main thread to ask the async pathfinding task to stop and postpone remaining queries, if any. | |
| uint32: 1 | bAllowClientSideNavigation | If false, will not create nav collision when connecting as a client | |
| uint8: 1 | bAsyncBuildPaused | ||
| uint32: 1 | bAutoCreateNavigationData | Should navigation system spawn default Navigation Data when there's none and there are navigation bounds present? | |
| uint8: 1 | bCleanUpDone | Set when the NavSys instance has been cleaned up. This is an irreversible state | |
| uint32: 1 | bGenerateNavigationOnlyAroundNavigationInvokers | 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. | |
| uint32: 1 | bInitialBuildingLocked | If set to true will result navigation system not rebuild navigation until a call to ReleaseInitialBuildingLock() is called. | |
| uint8: 1 | bInitialLevelsAdded | ||
| uint8: 1 | bInitialSetupHasBeenPerformed | ||
| uint32: 1 | bShouldDiscardSubLevelNavData | If true, games should ignore navigation data inside loaded sublevels | |
| uint32: 1 | 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 | |
| uint32: 1 | bSpawnNavDataInNavBoundsLevel | 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 | |
| uint32: 1 | bSupportRebuilding | 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. | |
| uint32: 1 | bTickWhilePaused | If true, will update navigation even when the game is paused | |
| FBox | BuildBounds | Bounds of tiles to be built | |
| uint32: 1 | bWholeWorldNavigable | If set to true (default) navigation will be generated only within special navigation bounds volumes (like ANavMeshBoundsVolume). | |
| uint8: 1 | bWorldInitDone | ||
| TSoftClassPtr< UCrowdManagerBase > | CrowdManagerClass | ||
| int32 | CurrentlyDrawnNavDataIndex | Indicates which of multiple navigation data instances to draw | |
| TMap< FNavLinkId, FNavigationSystem::FCustomLinkOwnerInfo > | CustomNavLinksMap | ||
| ENavDataGatheringModeConfig | DataGatheringMode | Sets how navigation data should be gathered when building collision information | |
| FName | DefaultAgentName | If not None indicates which of navigation datas and supported agents are going to be used as the default ones. | |
| FNavigationDirtyAreasController | DefaultDirtyAreasController | ||
| FNavigationOctreeController | DefaultOctreeController | ||
| float | DirtyAreaWarningSizeThreshold | -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 | |
| float | GatheringNavModifiersWarningLimitTime | -1.0f by default, if set to a positive value, all calls to GetNavigationData will be timed and compared to it. | |
| int32 | GeometryExportTriangleCountWarningThreshold | Warnings are logged if exporting the navigation collision for an object exceed this triangle count. | |
| uint8 | InitialNavBuildingLockFlags | Set of locking flags applied on startup of navigation system | |
| TObjectPtr< ANavigationData > | MainNavData | ||
| TSet< TObjectPtr< const UClass > > | NavAreaClasses | ||
| uint8 | NavBuildingLockFlags | ||
| FCriticalSection | NavDataRegistration | ||
| TArray< TObjectPtr< ANavigationData > > | NavDataRegistrationQueue | ||
| FCriticalSection | NavDataRegistrationSection | Async queries | |
| TArray< TObjectPtr< ANavigationData > > | NavDataSet | ||
| FBox | NavigableWorldBounds | Cached navigable world bounding box | |
| FNavRegenTimeSliceManager | NavRegenTimeSliceManager | ||
| uint8 | NavUpdateLockFlags | ||
| FOnNavDataGenericEvent | OnNavDataRegisteredEvent | ||
| FOnNavDataGenericEvent | OnNavigationGenerationFinishedDelegate | ||
| FOnNavigationInitDone | OnNavigationInitDone | ||
| FNavigationSystemRunMode | OperationMode | ||
| TArray< FNavigationBoundsUpdateRequest > | PendingNavBoundsUpdates | List of pending navigation bounds update requests (add, remove, update size) | |
| TSet< FNavigationBounds > | RegisteredNavBounds | All areas where we build/have navigation | |
| FDelegateHandle | ReloadCompleteDelegateHandle | ||
| TArray< FNavDataConfig > | SupportedAgents | List of agents types supported by this navigation system | |
| FNavAgentSelector | SupportedAgentsMask | 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. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UNavigationSystemV1
(
const FObjectInitializer& ObjectInitializer |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AbortAsyncFindPathRequest
(
uint32 AsynPathQueryID |
Removes query indicated by given ID from queue of path finding requests to process. | |
| void | AddAsyncQuery
(
const FAsyncPathFindingQuery& Query |
Adds given request to requests queue. Note it's to be called only on game thread only | |
| void | AddDirtyArea
(
const FBox& NewArea, |
||
| void | AddDirtyArea
(
const FBox& NewArea, |
||
| void | AddDirtyAreas
(
const TArray< FBox >& NewAreas, |
||
| void | AddElementToNavOctree
(
const FNavigationDirtyElement& DirtyElement |
Adds given element to NavOctree. | |
| void | AddLevelCollisionToOctree
(
ULevel* Level |
Add BSP collision data to navigation octree | |
| void | AddLevelToOctree
(
ULevel& Level |
Called during ConditionalPopulateNavOctree and gives subclassess a chance to influence what gets added | |
| void | AddNavigationBounds
(
const FNavigationBounds& NewBounds |
Adds data to RegisteredNavBounds | |
| void | AddNavigationBoundsUpdateRequest
(
const FNavigationBoundsUpdateRequest& UpdateRequest |
Adds navigation bounds update request to a pending list | |
| void | AddNavigationBuildLock
(
uint8 Flags |
||
| void | AddNavigationUpdateLock
(
uint8 Flags |
||
| void | AddReferencedObjects
(
UObject* InThis, |
||
| void | |||
| void | Build () |
Building | |
| void | CalcTimeSlicedUpdateData
(
TArray< double >& OutCurrentTimeSlicedBuildTaskDurations, |
||
| void | CancelBuild () |
Cancels all currently running navigation builds | |
| bool | Checks if dirty navigation data can rebuild itself | ||
| void | ClearNavOctreeAll
(
AActor* Actor |
Removes all navoctree entries for actor and its components | |
| FBox | ComputeCustomLinkBounds
(
const INavLinkCustomInterface& CustomLink |
Return a Bounding Box containing the navlink points | |
| bool | 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 | ||
| 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. | |
| void | Called to instantiate NavigationSystem's NavOctree instance | ||
| void | Spawn new crowd manager | ||
| FSharedNavQueryFilter | |||
| ANavigationData * | CreateNavigationDataInstanceInLevel
(
const FNavDataConfig& NavConfig, |
Constructs a navigation data instance of specified NavDataClass, in passed Level for supplied NavConfig. | |
| UNavigationSystemV1 * | CreateNavigationSystem
(
UWorld* WorldOwner |
||
| void | Debug | ||
| void | DemandLazyDataGathering
(
FNavigationRelevantData& ElementData |
||
| void | DescribeFilterFlags
(
UEnum* FlagsEnum |
Filters. | |
| void | DescribeFilterFlags
(
const TArray< FString >& FlagsDesc |
Prepare descriptions of navigation flags in UNavigationQueryFilter class: using array | |
| void | |||
| void | DispatchAsyncQueriesResults
(
const TArray< FAsyncPathFindingQuery >& PathFindingQueries |
Broadcasts completion delegate for all completed async pathfinding requests. | |
| bool | DoesPathIntersectBox
(
const FNavigationPath* Path, |
||
| bool | DoesPathIntersectBox
(
const FNavigationPath* Path, |
||
| void | Sets up SuportedAgents and NavigationDataCreators. | ||
| uint8 | FillInstantiatedDataMask
(
TBitArray<>& OutInstantiatedMask, |
Fills a mask indicating which navigation data associated to the supported agent mask are already instantiated. | |
| void | FindElementsInNavOctree
(
const FBox& QueryBox, |
Find all elements in navigation octree within given box (intersection) | |
| uint32 | FindPathAsync
(
const FNavAgentProperties& AgentProperties, |
Asynchronously looks for a path from to for agent with properties . | |
| FPathFindingResult | FindPathSync
(
FPathFindingQuery Query, |
Does a simple path finding from to on specified NavData. | |
| FPathFindingResult | FindPathSync
(
const FNavAgentProperties& AgentProperties, |
Synchronously looks for a path from to for agent with properties . | |
| UNavigationPath * | FindPathToActorSynchronously
(
UObject* WorldContextObject, |
Finds path instantly, in a FindPath Synchronously. | |
| UNavigationPath * | FindPathToLocationSynchronously
(
UObject* WorldContextObject, |
Finds path instantly, in a FindPath Synchronously. | |
| void | Searches for all valid navigation bounds in the world and stores them | ||
| ANavigationData * | |||
| int32 | GetAllAttachedActors
(
const AActor& RootActor, |
A helper function that gathers all actors attached to RootActor and fetches them back. | |
| const FNavDataConfig & | GetBiggestSupportedAgent
(
const UWorld* World |
||
| UCrowdManagerBase * | |||
| UNavigationSystemV1 * | GetCurrent
(
UWorld* World |
||
| UNavigationSystemV1 * | GetCurrent
(
UObject* WorldContextObject |
||
| INavLinkCustomInterface * | GetCustomLink
(
FNavLinkId UniqueLinkId |
Find custom link by unique ID | |
| const FNavigationRelevantData * | GetDataForObject
(
const UObject& Object |
||
| ANavigationData * | |||
| ANavigationData * | GetDefaultNavDataInstance
(
FNavigationSystem::ECreateIfMissing CreateNewIfNoneFound |
Returns the world default navigation data instance. Creates one if it doesn't exist. | |
| const FNavDataConfig & | |||
| const FNavDataConfig & | |||
| float | |||
| const TArray< FNavigationInvokerRaw > & | |||
| bool | Checks if auto-rebuilding navigation data is enabled. | ||
| FBox | GetLevelBounds
(
ULevel* InLevel |
||
| ANavigationData & | |||
| FNavigationRelevantData * | GetMutableDataForObject
(
const UObject& Object |
||
| FNavigationOctree * | |||
| FNavRegenTimeSliceManager & | |||
| void | GetNavAgentPropertiesArray
(
TArray< FNavAgentProperties >& OutNavAgentProperties |
Fetch the array of all nav-agent properties. | |
| INavigationDataInterface * | GetNavDataForActor
(
const AActor& Actor |
||
| ANavigationData * | GetNavDataForAgentName
(
const FName AgentName |
Goes through all registered NavigationData instances and retrieves the one supporting agent named AgentName | |
| const ANavigationData * | GetNavDataForProps
(
const FNavAgentProperties& AgentProperties |
Looks for NavData generated for specified movement properties and returns it. | |
| ANavigationData * | GetNavDataForProps
(
const FNavAgentProperties& AgentProperties, |
Looks up NavData appropriate for specified movement properties and returns it. | |
| ANavigationData * | GetNavDataForProps
(
const FNavAgentProperties& AgentProperties |
Looks for NavData generated for specified movement properties and returns it. NULL if not found; | |
| ANavigationData * | GetNavDataWithID
(
const uint16 NavDataID |
||
| const TSet< FNavigationBounds > & | |||
| int | GetNavigationBoundsForNavData
(
const ANavigationData& NavData, |
||
| UNavigationSystemV1 * | GetNavigationSystem
(
UObject* WorldContextObject |
Blueprint functions. | |
| const FNavigationOctree * | GetNavOctree () |
||
| bool | GetNavOctreeElementData
(
const UObject& NodeOwner, |
Read element data from navigation octree | |
| int32 | |||
| int32 | Used to display "navigation building in progress" counter | ||
| int32 | Number of currently running tasks | ||
| const FOctreeElementId2 * | GetObjectsNavOctreeId
(
const UObject& Object |
||
| void | GetOnScreenMessages
(
TMultiMap< FCoreDelegates::EOnScreenMessageSeverity, FText >& OutMessages |
||
| FNavigationSystemRunMode | |||
| ENavigationQueryResult::Type | GetPathCost
(
UObject* WorldContextObject, |
Potentially expensive. | |
| ENavigationQueryResult::Type | GetPathCost
(
const FVector& PathStart, |
Calculates a path from PathStart to PathEnd and retrieves its cost. | |
| ENavigationQueryResult::Type | GetPathLength
(
const FVector& PathStart, |
Calculates a path from PathStart to PathEnd and retrieves its overestimated length. | |
| ENavigationQueryResult::Type | GetPathLength
(
UObject* WorldContextObject, |
Potentially expensive. Use with caution | |
| ENavigationQueryResult::Type | GetPathLengthAndCost
(
const FVector& PathStart, |
Calculates a path from PathStart to PathEnd and retrieves its overestimated length and cost. | |
| bool | GetRandomPoint
(
FNavLocation& ResultLocation, |
Finds random point in navigable space | |
| bool | GetRandomPointInNavigableRadius
(
const FVector& Origin, |
Finds random, point in navigable space restricted to Radius around Origin. | |
| bool | GetRandomReachablePointInRadius
(
const FVector& Origin, |
Finds random, reachable point in navigable space restricted to Radius around Origin | |
| FNavigationSystemRunMode | GetRunMode () |
||
| ERuntimeGenerationType | 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 | ||
| int32 | GetSupportedAgentIndex
(
const ANavigationData* NavData |
Find index in SupportedAgents array for given navigation data | |
| int32 | GetSupportedAgentIndex
(
const FNavAgentProperties& NavAgent |
Find index in SupportedAgents array for agent type | |
| const TArray< FNavDataConfig > & | |||
| FNavAgentSelector | |||
| UWorld * | GetWorld () |
||
| FBox | |||
| double | GetWorldPartitionNavigationDataBuilderOverlap
(
const UWorld& World |
||
| bool | |||
| bool | HandleCycleNavDrawnCommand
(
const TCHAR* Cmd, |
Exec command handlers | |
| bool | |||
| uint32 | HashObject
(
const UObject& Object |
||
| bool | HasPendingObjectNavOctreeId
(
UObject* Object |
||
| void | Adds BSP collisions of currently streamed in levels to octree | ||
| bool | |||
| bool | Whether Navigation System is allowed to rebuild the navmesh Depends on runtime generation settings of each navigation data, always true in the editor | ||
| bool | |||
| bool | IsNavigationBeingBuilt
(
UObject* WorldContextObject |
||
| bool | IsNavigationBeingBuiltOrLocked
(
UObject* WorldContextObject |
||
| bool | IsNavigationBuildingLocked
(
uint8 Flags |
||
| bool | Check if building is permanently locked to avoid showing navmesh building notify (due to queued dirty areas) | ||
| bool | Determines whether any generator is performing navigation building actions at the moment, dirty areas are also checked | ||
| bool | Checks if navigation/navmesh is dirty and needs to be rebuilt | ||
| bool | Check if navigation octree updates are currently ignored | ||
| bool | |||
| bool | IsNavigationRelevant
(
const AActor* TestActor |
||
| bool | |||
| bool | |||
| bool | |||
| bool | |||
| bool | |||
| bool | K2_GetRandomLocationInNavigableRadius
(
UObject* WorldContextObject, |
Generates a random location in navigable space within given radius of Origin. | |
| bool | K2_GetRandomReachablePointInRadius
(
UObject* WorldContextObject, |
Generates a random location reachable from given Origin location. | |
| bool | K2_ProjectPointToNavigation
(
UObject* WorldContextObject, |
Project a point onto the NavigationData | |
| bool | K2_ReplaceAreaInOctreeData
(
const UObject* Object, |
||
| void | |||
| bool | NavigationRaycast
(
UObject* WorldContextObject, |
Performs navigation raycast on NavigationData appropriate for given Querier. | |
| void | OnActorMoved
(
AActor* Actor |
Delegate handler for ActorMoved events | |
| void | OnActorRegistered
(
AActor* Actor |
||
| void | OnActorUnregistered
(
AActor* Actor |
||
| void | OnBeginTearingDown
(
UWorld* World |
Called as part of UWorld::BeginTearingDown | |
| void | OnComponentRegistered
(
UActorComponent* Comp |
Navigation octree related functions | |
| void | OnComponentUnregistered
(
UActorComponent* Comp |
||
| void | Handle forwarding the information where needed when the setting is changed | ||
| void | OnLevelAddedToWorld
(
ULevel* InLevel, |
Handler for FWorldDelegates::LevelAddedToWorld event | |
| void | OnLevelRemovedFromWorld
(
ULevel* InLevel, |
Handler for FWorldDelegates::LevelRemovedFromWorld event | |
| void | OnNavigationAreaEvent
(
UClass* AreaClass, |
||
| void | OnNavigationBoundsAdded
(
ANavMeshBoundsVolume* NavVolume |
||
| void | OnNavigationBoundsRemoved
(
ANavMeshBoundsVolume* NavVolume |
||
| void | OnNavigationBoundsUpdated
(
ANavMeshBoundsVolume* NavVolume |
||
| void | OnNavigationDirtied
(
const FBox& Bounds |
Delegate handler called when navigation is dirtied | |
| void | OnNavigationGenerationFinished
(
ANavigationData& NavData |
||
| void | OnPIEEnd () |
||
| void | OnPIEStart () |
||
| void | OnPostLoadMap
(
UWorld* LoadedWorld |
Delegate handler for PostLoadMap event | |
| void | OnReloadComplete
(
EReloadCompleteReason Reason |
Called to notify NavigaitonSystem about finished reload | |
| void | OnWorldInitDone
(
FNavigationSystemRunMode Mode |
||
| void | OnWorldPostActorTick
(
UWorld* World, |
Handler for FWorldDelegates::OnWorldPostActorTick event | |
| void | OverrideSupportedAgents
(
const TArray< FNavDataConfig >& NewSupportedAgents |
||
| void | PerformAsyncQueries
(
TArray< FAsyncPathFindingQuery > PathFindingQueries |
Processes pathfinding requests given in PathFindingQueries. | |
| void | PerformNavigationBoundsUpdate
(
const TArray< FNavigationBoundsUpdateRequest >& UpdateRequests |
Used to apply updates of nav volumes in navigation system's tick | |
| void | Requests the async pathfinding task to abort and waits for it to complete before resuming the main thread. | ||
| void | Registers CustomLinks awaiting registration in PendingCustomLinkRegistration | ||
| void | Processes registration of candidates queues via RequestRegistration and stored in NavDataRegistrationQueue | ||
| bool | ProjectPointToNavigation
(
const FVector& Point, |
||
| bool | ProjectPointToNavigation
(
const FVector& Point, |
||
| void | RebuildAll
(
bool bIsLoadTime |
Triggers navigation building on all eligible navigation data. | |
| void | RebuildDirtyAreas
(
float DeltaSeconds |
||
| void | RegisterComponent
(
UActorComponent* Comp |
||
| void | RegisterComponentToNavOctree
(
UActorComponent* Comp |
||
| void | RegisterCustomLink
(
INavLinkCustomInterface& CustomLink |
Custom navigation links. | |
| void | RegisterInvoker
(
AActor& Invoker, |
||
| void | RegisterNavAreaClass
(
UClass* NavAreaClass |
Tries to register navigation area | |
| ERegistrationResult | RegisterNavData
(
ANavigationData* NavData |
Registers given navigation data with this Navigation System. | |
| void | Processes all NavigationData instances in UWorld owning navigation system instance, and registers all previously unregistered | ||
| void | RegisterNavigationInvoker
(
AActor& Invoker, |
||
| 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. | |
| FSetElementId | RegisterNavOctreeElement
(
UObject* ElementOwner, |
||
| void | |||
| void | RemoveLevelCollisionFromOctree
(
ULevel* Level |
Remove BSP collision data from navigation octree | |
| void | RemoveNavigationBuildLock
(
uint8 Flags, |
||
| void | RemoveNavigationUpdateLock
(
uint8 Flags |
||
| void | RemoveNavOctreeElementId
(
const FOctreeElementId2& ElementId, |
||
| void | RemoveObjectsNavOctreeId
(
const UObject& Object |
||
| bool | ReplaceAreaInOctreeData
(
const UObject& Object, |
Fetched Object's data from the octree and replaces occurences of OldArea with NewArea | |
| void | RequestAreaRegistering
(
UClass* NavAreaClass |
Areas. | |
| void | RequestAreaUnregistering
(
UClass* NavAreaClass |
||
| void | RequestCustomLinkRegistering
(
INavLinkCustomInterface& CustomLink, |
||
| void | RequestCustomLinkUnregistering
(
INavLinkCustomInterface& CustomLink, |
||
| void | RequestRegistrationDeferred
(
ANavigationData& NavData |
Adds NavData to registration candidates queue - NavDataRegistrationQueue | |
| bool | Whether Navigation system needs to populate nav octree. | ||
| void | ResetCachedFilter
(
TSubclassOf< UNavigationQueryFilter > FilterClass |
Removes cached filters from currently registered navigation data | |
| void | Brings limit of simultaneous navmesh tile generation jobs back to Project Setting's default value | ||
| void | SetCrowdManager
(
UCrowdManagerBase* NewCrowdManager |
||
| void | SetGeometryGatheringMode
(
ENavDataGatheringModeConfig NewMode |
||
| void | SetMaxSimultaneousTileGenerationJobsCount
(
int32 MaxNumberOfJobs |
Will limit the number of simultaneously running navmesh tile generation jobs to specified number. | |
| void | SetNavigationAutoUpdateEnabled
(
bool bNewEnable, |
Allow editor to toggle whether seamless navigation building is enabled | |
| void | SetNavigationOctreeLock
(
bool bLock |
||
| void | SetSupportedAgentsMask
(
const FNavAgentSelector& InSupportedAgentsMask |
||
| 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 | |
| void | SetUpdateNavOctreeOnComponentChange
(
bool bNewUpdateOnComponentChange |
||
| bool | |||
| bool | ShouldDiscardSubLevelNavData
(
ANavigationData* NavData |
||
| bool | |||
| bool | ShouldGeneratorRun
(
const FNavDataGenerator* Generator |
Super-hacky safety feature for threaded navmesh building. | |
| bool | ShouldLoadNavigationOnClient
(
ANavigationData* NavData |
||
| bool | |||
| void | |||
| void | SpawnMissingNavigationDataInLevel
(
const TBitArray<>& InInstantiatedMask, |
Spawns missing navigation data. | |
| bool | |||
| 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) | |
| void | TriggerAsyncQueries
(
TArray< FAsyncPathFindingQuery >& PathFindingQueries |
Spawns a non-game-thread task to process requests given in PathFindingQueries. | |
| void | UnregisterComponent
(
UActorComponent* Comp |
||
| void | |||
| void | UnregisterCustomLink
(
INavLinkCustomInterface& CustomLink |
||
| void | UnregisterInvoker
(
AActor& Invoker |
||
| void | UnregisterNavAreaClass
(
UClass* NavAreaClass |
Tries to unregister navigation area | |
| void | UnregisterNavData
(
ANavigationData* NavData |
Bookkeeping. | |
| void | UnregisterNavigationInvoker
(
AActor* Invoker |
Removes given actor from the list of active navigation enforcers. | |
| void | UnregisterNavigationInvoker
(
AActor& Invoker |
||
| void | UnregisterNavOctreeElement
(
UObject* ElementOwner, |
||
| void | 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 | ||
| void | Find or create abstract nav data | ||
| void | UpdateActorAndComponentsInNavOctree
(
AActor& Actor, |
Update all navoctree entries for actor and its components | |
| void | UpdateActorInNavOctree
(
AActor& Actor |
Update navoctree entry for specified actor/component | |
| void | UpdateAttachedActorsInNavOctree
(
AActor& RootActor |
Updates navoctree information on actors attached to RootActor | |
| void | UpdateComponentInNavOctree
(
UActorComponent& Comp |
||
| void | UpdateCustomLink
(
const INavLinkCustomInterface* CustomLink |
Updates custom link for all active navigation data instances | |
| void | UpdateLevelCollision
(
ULevel* InLevel |
||
| void | UpdateNavOctreeAfterMove
(
USceneComponent* Comp |
Update all navoctree entries for actor and its non scene components after root movement | |
| void | UpdateNavOctreeBounds
(
AActor* Actor |
Updates bounds of all components implementing INavRelevantInterface | |
| void | UpdateNavOctreeElement
(
UObject* ElementOwner, |
Update single element in navoctree | |
| bool | UpdateNavOctreeElementBounds
(
UActorComponent* Comp, |
Update component bounds in navigation octree and mark only specified area as dirty, doesn't re-export component geometry | |
| void | UpdateNavOctreeParentChain
(
UObject* ElementOwner, |
Force updating parent node and all its children | |
| void | VerifyNavigationRenderingComponents
(
const bool bShow |
New stuff |
Overridden from UNavigationSystemBase
| Type | Name | Description | |
|---|---|---|---|
| void | AddNavigationDataChunk
(
ANavigationDataChunkActor& DataChunkActor |
||
| void | AppendConfig
(
const UNavigationSystemConfig& NewConfig |
Called when there's a need to extend current navigation system's config with information in NewConfig | |
| void | ApplyWorldOffset
(
const FVector& InOffset, |
||
| void | CleanUp
(
const FNavigationSystem::ECleanupMode Mode |
Called upon UWorld destruction to release what needs to be released | |
| FBox | |||
| void | Configure
(
const UNavigationSystemConfig& Config |
||
| bool | ContainsNavData
(
const FBox& Bounds |
||
| void | FillNavigationDataChunkActor
(
const FBox& QueryBounds, |
||
| INavigationDataInterface * | Returns the world default navigation data instance. | ||
| FBox | |||
| void | InitializeForWorld
(
UWorld& World, |
||
| bool | IsNavigationBuilt
(
const AWorldSettings* Settings |
||
| bool | Returns true if world has been initialized. | ||
| void | Called when owner-UWorld initializes actors | ||
| void | RemoveNavigationDataChunk
(
ANavigationDataChunkActor& DataChunkActor |
||
| void | SetBuildBounds
(
const FBox& Bounds |
Set limiting bounds to be used when building navigation data. | |
| void | Tick
(
float DeltaSeconds |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | PostEditChangeChainProperty
(
FPropertyChangedChainEvent& PropertyChangedEvent |
This alternate version of PostEditChange is called when properties inside structs are modified. | |
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally | |
| void | Called after the C++ constructor and after the properties have been initialized, including those loaded from config. |
Enums
| Type | Name | Description | |
|---|---|---|---|
| ELockRemovalRebuildAction | |||
| EOctreeUpdateMode | EOctreeUpdateMode is deprecated. Use FNavigationOctreeController::EOctreeUpdateMode instead. | ||
| ERegistrationResult |
Typedefs
| Name | Description |
|---|---|
| FOnNavigationDirty | Delegate type for events that dirty the navigation data ( Params: const FBox& DirtyBounds ) |
Constants
| Name | Description |
|---|---|
| bIsPIEActive | |
| bNavigationAutoUpdateEnabled | Whether seamless navigation building is enabled |
| bStaticRuntimeNavigation | |
| bUpdateNavOctreeOnComponentChange | |
| CustomLinkRegistrationSection | |
| ExecHandler | Self-registering exec command to handle nav sys console commands |
| NavigationDirtyEvent | Called after navigation influencing event takes place |
| PendingCustomLinkRegistration |
Deprecated Variables
| Type | Name | Description | |
|---|---|---|---|
| TMap< uint32, FNavigationSystem::FCustomLinkOwnerInfo > | CustomLinksMap | LinkIds are now based on FNavLinkId. Use CustomNavLinksMap instead, CustomLinksMap is no longer populated or used in the engine. | |
| int32 | GeometryExportVertexCountWarningThreshold | This property is deprecated. Please use GeometryExportTriangleCountWarningThreshold instead. |
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
| INavLinkCustomInterface * | GetCustomLink
(
uint32 UniqueLinkId |
LinkIds are now based on FNavLinkId call the version of this function that takes FNavLinkId. This function only returns nullptr. | |
| ENavigationQueryResult::Type | GetPathCost
(
UObject* WorldContextObject, |
Use new version with double | |
| ENavigationQueryResult::Type | GetPathCost
(
const FVector& PathStart, |
Use new version with FVector::FReal | |
| ENavigationQueryResult::Type | GetPathLength
(
const FVector& PathStart, |
Use new version with FVector::FReal | |
| ENavigationQueryResult::Type | GetPathLength
(
UObject* WorldContextObject, |
Use new version with double | |
| ENavigationQueryResult::Type | GetPathLengthAndCost
(
const FVector& PathStart, |
Use new version with FVector::FReal | |
| bool | K2_GetRandomPointInNavigableRadius
(
UObject* WorldContextObject, |
This version is deprecated. Please use GetRandomLocationInNavigableRadius instead | |
| void | RegisterInvoker
(
AActor& Invoker, |
This function is deprecated. Please use the new RegisterInvoker method with the Agents parameter (FNavAgentSelector() can be used as default value to keep the same behavior) | |
| void | RegisterInvoker
(
AActor& Invoker, |
This function is deprecated. Please use the new RegisterInvoker method with invoker priority. |