Unity 4.6 and up have broken my sprite layers. How to fix?

The problem is explained in detail on this unanswered forum post, with more illustrations: http://forum.unity3d.com/threads/unity-5-pixel-scaling-issue.318553/#post-2067025

The basic problem is, I am building sprites out of layers using sprite sheets for each layer. The sheets are all the same size, and the layers are positioned on top of each other at the exact same coordinates. But when they are drawn in Unity 4.6 and higher, they no longer scale consistently. Pixels now bleed through from the lower layers depending on the screen resolution and camera position.

How it used to look, all layers aligned and scaled properly:

47468-unity4.png

How it looks now, the incorrect pixels are scaled differently on the layer below and showing through (circled):

47470-bleedthrough.png

Thanks goes to Reddit user drakfyre for figuring this out: Reddit - Dive into anything

  1. Select your sprite resources
  2. Change the Texture Type to
    “Advanced”
  3. Change Mesh Type from
    “Tight” to “Full Rect”