Procedural cube normals

Hi all,

I’m trying to create a procedural mesh at runtime but the normals are mucked up. I’ve generated a cube and assigned what I assume are correct normals to the vertices, but can anyone shed any light on why the light is wrapping around the mesh? The closest cube in the pic is my procedural cube and the furthest is a standard mesh for comparison.

Any help appreciated, thanks!