Also check Nav Mesh Registration & Generation and AI Navigation Types.

About

The nav data seems to be built using the INavRelevantInterface interface with GetNavigationData. For example UPrimitiveComponent implements it, as well as the parent of UNavModifierComponent, UNavRelevantComponent.

DoCustomNavigableGeometryExport is called before GetNavigationData.

Classes

Global overview

Objects & Interfaces

flowchart TD

    INavRelevantInterface --> UNavRelevantComponent
    INavRelevantInterface --> UPrimitiveComponent
    UNavRelevantComponent --> UNavLinkCustomComponent
    UNavRelevantComponent --> UNavModifierComponent
    INavRelevantInterface --> ANavLinkProxy

Other types

flowchart TD

    FNavigationModifier --> FAreaNavModifier
    FNavigationModifier --> FCompositeNavModifier
    FNavigationModifier --> FCustomLinkNavModifier
    FNavigationModifier --> FSimpleLinkNavModifier
    
    FNavigationRelevantData
    FNavigationElement
    FNavigationElementHandle

See Nav Links

Modifiers

See Nav Modifiers