I know this is a common issue, and the questions come up all the time. I've read through a bunch of threads and found nothing wrong with my depth issue.
I have three atlases, and I know using depth only works with an orthographic camera with UISprites all on the same atlas. My question revolves around a weird glitch that came up on me. I have one set of images (atlas A, font) at -10, I have a second set of images (atlas B) at -5, and a third set of images (atlas C) at 0). They all share one UIPanel, and I confirmed that this UIPanel registers and reads these three atlases. This UIPanel also has no parent UIPanel, so it's fully in control. Now it's obvious I want atlas A on top, followed by atlas B, and then atlas C.
The problem is that atlas A is at the back. I've tried messing around with different things to get atlas A on top, and the only thing I've found that fixes it is (during run-time) checking off Depth pass. It doesn't matter whether or not depth pass is on or off to start, the draw order only gets fixed when it's checked off or on during run-time. Once you do this, checking it again does not reverse the process. I've tried many different hierarchy combinations to attempt to fix this but I cannot find a solution.
The images are a complex button that is built during run-time. The buttons use UISprite in combination with UILabel and all buttons are placed into a UIGrid. Each button has UIDragPanelContents on it and the UIPanel has UIDraggablePanel on it. Perhaps I've done something wrong here?
Is there some other solution other than checking off Depth Pass on the UIPanel? If more information is needed please let me know.