Normals and z sorting are messed up when importing to Unity

As far as I can tell, all my normals look correct within blender, but when I import my model to Unity (2019), some of the normals are inverted and the z sorting of some objects is wrong. Like, even though object 1 is in front of object 2, it’s being rendered behind object 2.

I’ve tried recalculating normals, but it makes no difference. I’ve uploaded my blend file if anyone can take a look at it.

Disk.blend (565.2 KB)

Most common troubleshooting series of actions is to

  • apply object scale
  • remove doubles
  • recalculate normals

in that order. If recalculating normals fails, that indicates that the mesh has errors, it’s non-manifold.

The scales and rotations are off. Apply them to make sense of it all, ctrl+A.

The normals are pointing inside on those faces. Normals display was showing them through

Recalculating normals fails because the mesh is non-manifold in two ways:

  • there are open edges, edges with just one face connected to it, which is fine
  • there are edges without faces, connecting two surfaces
1 Like

Thanks. I’ll try making those fixes and see how it works out.

Edit: I fixed the scaling and non-manifold issues and the normals seem correct in Unity now. But the z-sorting is still messed up.