How to add NavArea generation to ProceduralMeshComponent

I need to add some functionality of UShapeComponent to UProceduralMeshComponent. A simple function:

void UShapeComponent::GetNavigationData(FNavigationRelevantData& Data) const
{
	if (bDynamicObstacle)
	{
		Data.Modifiers.CreateAreaModifiers(this, AreaClass);
	}
}

which will create NavAreaModifiers on the level based on mesh collision shape.

The questions are:

  1. Can I use UProceduralMeshComponent as UPrimitiveComponent ?
  2. Should I manually get FNavigationRelevantData and call GetNavigationData, or add some additional interfaces to UProceduralMeshComponent that this function will work automatically?