How can i see vertex colors on procedural mesh?

I’m using proceduralmeshcomponent to create some debug meshes and I would like to be able to separate them into different colors for various purposes. I already have it setup to draw the meshes, now I’m trying to have the vertex colors assigned and viewable in the scene. The supplied vertex color of FColor(255, 0, 0, 0) is not showing in the scene - the surfaces generated appear to be grey, when this should be making them red. Is there something else I need to set in order to view the colors on the procedural mesh?

The image shows an actor class which spawns in the blue area, but also has a UProceduralMeshComponent attached which draws the grey areas. I’m trying to figure out how to get vertex colors visible on the grey area. I’m also trying to assign the procedural mesh a material and see if I can view colors that way. In this screenshot I’ve assigned the exact same water material to the procedural mesh and yet it’s still grey.

This is what I have (which produces a mesh but without any colors - from either vertex colors or a material)

UProceduralMeshComponent* mesh;
mesh = CreateDefaultSubobject<UProceduralMeshComponent>(TEXT("ProceduralMesh"));
//noWalkFaces is a struct that houses the three vert indices (noWalkTris.Num() / 3)
for (auto& face : noWalkFaces)
		noWalkColors.Add(FColor(255, 0, 0, 0));
		noWalkColors.Add(FColor(255, 0, 0, 0));
		noWalkColors.Add(FColor(255, 0, 0, 0));
	mesh->CreateMeshSection(2, noWalkVerts, noWalkTris, pathNorms, pathUVs, noWalkColors, pathTangs, false);

Is CreateMeshSection the correct way to create a procedural mesh? It produces a mesh in my scene - but it doesn’t have any vertex colors and if I supply it a material by

mesh->SetMaterial(0, Cast<UMaterial>(StaticLoadObject(UMaterial::StaticClass(), NULL, *FString(UISC::florMTLoc + materials[0]))));

Then I can see the material listed in the details panel but with no color (this material is blue like in the photo above)

Creating a material with “vertex colors” node plugged into the base color slot, then using

 mesh->SetMaterial(2, Cast<UMaterial>(StaticLoadObject(UMaterial::StaticClass(), NULL, *FString(UISC::florMTLoc + materials[0]))));

Be sure to set the material index to match that of the element index of your procedural mesh. In my case it was indexs 1 and 2 (which is why it didn’t show before because I used set material with index 0).