How to Use Builtin function if it has an Identical public and private implementation?

The function is overloaded by virtual of the tiles member being a dtMeshTile const** in one case and a dtMeshTile** in the other (lacking the const). Arguably the private one doesn’t need the NAVMESH_API macro)

It’s a bit of a poorly designed API, it’s not great to have overloads cross the private/public boundaries like this.

A quick search found this in RecastNavMesh.cpp:

TArray<const dtMeshTile*> Tiles;
Tiles.AddZeroed(MaxTiles);
const int32 NumTiles = ConstDetourNavMesh->getTilesAt(TileX, TileY, Tiles.GetData(), MaxTiles);

which should be calling the right one. Again, the minor difference in the extra const in the example versus yours.