UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FNavLinkId Struct Reference

#include <NavigationTypes.h>

Public Member Functions

 FNavLinkId ()=default
 
 FNavLinkId (uint64 InId)
 
bool IsValid () const
 
bool operator== (const FNavLinkId &Other) const
 
bool operator!= (const FNavLinkId &Other) const
 
uint64 GetId () const
 
void SetId (uint64 InId)
 
bool IsLegacyId () const
 

Static Public Member Functions

static ENGINE_API FNavLinkId GenerateUniqueId ()
 
static ENGINE_API FNavLinkId GenerateUniqueId (FNavLinkAuxiliaryId AuxiliaryId, FGuid ActorInstanceGuid)
 

Static Public Attributes

static ENGINE_API const FNavLinkId Invalid = FNavLinkId()
 

Friends

uint32 GetTypeHash (FNavLinkId const &Value)
 

Detailed Description

NavLink Id type. Legacy Ids were generated using the incremental ID system which has been deprecated but will be supported for quite some time. The new system uses CityHash using GenerateUniqueId() Only NavLinks generated this way should have the most significant bit of the id set to 1.

Constructor & Destructor Documentation

◆ FNavLinkId() [1/2]

FNavLinkId::FNavLinkId ( )
default

◆ FNavLinkId() [2/2]

FNavLinkId::FNavLinkId ( uint64  InId)
inlineexplicit

Member Function Documentation

◆ GenerateUniqueId() [1/2]

FNavLinkId FNavLinkId::GenerateUniqueId ( )
static

Helper function: returns unique ID number for custom links.

◆ GenerateUniqueId() [2/2]

FNavLinkId FNavLinkId::GenerateUniqueId ( FNavLinkAuxiliaryId  AuxiliaryId,
FGuid  ActorInstanceGuid 
)
static

Helper function: returns unique ID number for custom links.

◆ GetId()

uint64 FNavLinkId::GetId ( ) const
inline

◆ IsLegacyId()

bool FNavLinkId::IsLegacyId ( ) const
inline

New non Legacy NavLinkIds have the most significant bit set to 1. Only Id's formed from GenerateUniqueId() should have the most significant bit set to 1. We should only see extremely rare clashes here anyway with 63 bits for the city hash in the sort of number of CustomLinks we are likely to have and there is a system in place to handle this for dynamic meshes at run time. For static meshes the AuxiliaryId / ActorInstanceGuid will need to be generated again in the editor (probably easiest by deleting and readding the actor / component in the editor at the moment).

◆ IsValid()

bool FNavLinkId::IsValid ( ) const
inline

◆ operator!=()

bool FNavLinkId::operator!= ( const FNavLinkId Other) const
inline

◆ operator==()

bool FNavLinkId::operator== ( const FNavLinkId Other) const
inline

◆ SetId()

void FNavLinkId::SetId ( uint64  InId)
inline

Friends And Related Symbol Documentation

◆ GetTypeHash

uint32 GetTypeHash ( FNavLinkId const &  Value)
friend

Member Data Documentation

◆ Invalid

const FNavLinkId FNavLinkId::Invalid = FNavLinkId()
static

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