/Engine/Source/Runtime/GeometryCore/Public/DynamicMeshEditor.h
For triangles connecting loops of corresponded vertices, set UVs in a cylindrical pattern so that the U coordinate starts at 0 for the first corresponded pair of vertices, and cycles around to 1 Assumes Triangles array stores indices of triangles in progressively filling the tube, starting with VertexIDs*[0]. (This is used to set the UVs correctly at the seam joining the start & end of the loop)
void SetGeneralTubeUVs ( const [TArray](API\Runtime\Core\Containers\TArray)< int > & Triangles, const [TArray](API\Runtime\Core\Containers\TArray)< int > & VertexIDs1, const [TArray](API\Runtime\Core\Containers\TArray)< int > & MatchedIndices1, const [TArray](API\Runtime\Core\Containers\TArray)< int > & VertexIDs2, const [TArray](API\Runtime\Core\Containers\TArray)< int > & MatchedIndices2, const [TArray](API\Runtime\Core\Containers\TArray)< float > & UValues, const FVector3f & VDir, float UVScaleFactor, const FVector2f & UVTranslation, int UVLayerIndex )