well sorted it, clearly what i was doing with normals and tangents wasnt correct
ended up using
UKismetProceduralMeshLibrary::CalculateTangentsForMesh(_verts, _tris, _uv, _normals, _tangents);
before i called the create mesh section just and that fixed it instantly, material needs some work now but at least it functions
leaving this here for anyone else