It looks like half of the tris are flipped the wrong direction. Triangles have a winding order and a normal, and if they face the wrong way they will be treated as backfaces and culled from the render. The other half could be one of a number of things:
- Mismapped UV coordinates.
- Incorrect image import settings.
- An image format Unity doesn't recognize.
- Something else I haven't thought of.
It's probably the first of those. It looks like you're attempting to procedurally generate it, so you'll want to check on how you're ordering your vertices in the triangle list and how you're coming up with UV values.
You can also try, in your 3D mesh editor, to "unify normals", which is what it's called in 3ds Max under the Normals or Edit Normals modifiers. I don't know what this command is called or how to access it in other 3d packages, though.