Landmark Navigation Subsystem
The ULandmarkNavigationSubsystem
is a world subsystem responsible for managing registered ULandmarkComponent
in the world. It includes a distance-based tick rate system, allowing landmarks closer to the player to update more frequently than those further away. A landmark tick update will update the FLandmarkData
member of a LandmarkComponent, which contains all the necessary data for LandmarkNavigation’s system to work (Minimap, Compass and Waypoint).
Some of its settings are exposed in the plugin’s settings.
General
Name | Description |
---|---|
GetAllLandmarkComponents | Retrieves all currently registered landmarks. |
OnLandmarkComponentRegistered | Triggers when a landmark is successfully registered. |
OnLandmarkComponentUnregistered | Triggers when a landmark is successfully unregistered. |
Active Waypoint
Name | Description |
---|---|
SetActiveWaypoint | Set a ULandmarkComponent as active waypoint, meaning it should be displayed on the waypoint widget. There can only be one active map asset at any time. |
GetActiveWaypoint | Returns the currently Active Waypoint (LandmarkComponent) or nullptr if none. |
OnNewActiveWaypoint | Triggers whenever a new ULandmarkComponent is set as waypoint. |
Active Map Asset
Name | Description |
---|---|
SetActiveMapAsset | Set a ULandmarkMapAsset as active, meaning it should be displayed on the minimap. There can only be one active map asset at any time. |
GetActiveMapAsset | Returns the currently Active Map Asset or nullptr if none. |
OnNewLandmarkMapAsset | Triggers whenever a new ULandmarkMapAsset is set as active. |
Landmark Pools
Landmark Pools allows to filter through all registered landmarks based on specific filters. This allows Minimap and Compass widget to handle smaller quantity of landmarks on every tick, and is a crucial performance feature. Each pool can be retrieved via its ‘Pool Name’. This system is already implemented in the Minimap and Compass widgets. Only care to use these features if you wish to create your own systems.
Function Name | Description |
---|---|
CreateLandmarkPool | Creates a named pool of landmarks. When the subsystem ticks, it will also evaluate each pool’s filter conditions to see if the ticking landmark is relevant to this pool. Use the OnLandmarkAdded and OnLandmarkRemoved delegates to bind gameplay to pool changes. |
SetLandmarkPoolDistanceRange | Sets the pool’s Distance Range. Can be called during play (when zooming in/out on the minimap for example). |
DestroyLandmarkPool | Destroy a LandmarkPool by name. |
GetLandmarksFromPool | Returns all the landmarks that are currently relevant to this pool. |