Procedural mesh is black when metallic

I copy them using &SourceMesh->RenderData->LODResources[0].VertexBuffer->VertexTangentZ(). I tested that previously using the world normal visualization mode (see OP), but testing it now using PixelNormal in the material, I see that something’s wrong:


(left: source mesh, right: procedural copy)


(from the other side)

4c7e86969c456cb74b50f7a4c55a8d065f2cd113.jpeg

I got that way of retrieving the vertex normal data from this answer, but maybe it’s not correct, or I’m doing it wrong. Ideas?