no instance of the overload function CreateMeshSection matches the argument list

//defined in my header file
const TArray<FVector> Vertices;
const TArray<int32> Triangles;
const TArray<FVector2D> UV0;

//in the cpp file
UProceduralMeshComponent::CreateMeshSection(0, Vertices, Triangles, 0, UV0, 0, 0, false);

This gives me the error: no instance of the overload function UProceduralMeshComponent::CreateMeshSection matches the argument list.

Can you just pass 0 for the optional TArray parameters you don’t wish to use? Looking at the function signature for CreateMeshSection() it looks like you have everything there. You may want to just pass in empty TArrays instead of zeros for the params you don’t want.