UnityのCanvas内に複数のUIがある場合、Hierarchyの順に重なって表示されるようになっています。 これを前面や背面に移動させたい場合は、Transform.SetAsLastSibling
やTransform.SetAsFirstSibling
を使うと良いそうです。
// 最前面に移動
GetComponent<RectTransform>().SetAsLastSibling();
// 最背面に移動
GetComponent<RectTransform>().SetAsFirstSibling();
細かく順番を指定したい場合はTransform.GetSiblingIndex
やTransform.SetAsLastSibling
が使えるようです。
int index = GetComponent<RectTransform>().GetSiblingIndex();
GetComponent<RectTransform>().SetAsLastSibling(index);
リンク
Unity – Scripting API: Transform
https://docs.unity3d.com/ScriptReference/Transform.html