Hi Aren
Sorry about the lack of info. I'm using 3.4.8 in 2D. I have reduced the scene to a bare minimum now to try and make it easier to find the issue, new screen shot attached (Depth1).
depths are as follows:
UIRoot(2D) 0
Backdrop 1 (has both UIPanel and UISprite, both depths set to 1)
Panel 2 (UIPanel attached)
MenuButton (Sprite) and Label both set to 2
However with both the MenuButton and Label set to 2, sometimes the text doesn't display (see depth2). If I set the label to depth 3, then the text displays fine but I get a warning message in the console (see depth3). The really strange thing is that the depths being reported as wrong from UIwidget are incorrect, I have nothing at depth 8 (I added an extra few debugs to check)
this is the CheckLayer in UIWidget now:
public void CheckLayer ()
{
if (panel != null && panel.gameObject.layer != gameObject.layer)
{
Debug.LogWarning("You can't place widgets on a layer different than the UIPanel that manages them.\n" +
"If you want to move widgets to a different layer, parent them to a new panel instead.", this);
Debug.Log(panel.gameObject.layer + "--" + gameObject.layer);
Debug.Log(panel.name + "=" + gameObject.name);
gameObject.layer = panel.gameObject.layer;
}
}
Appreciate the help as always
Paul
P.S. all panels still at automatic