unity set parent canvas
[MenuItem("GameObject/UI/Switch")] static void Switch() { //Create new GameObject GameObject go = new GameObject("switch"); //Find Canvas in the Scene Canvas canvas = (Canvas)GameObject.FindObjectOfType(typeof(Canvas)); //Get Canvas GameObject GameObject canvasGameObject = canvas.gameObject; //Make the new GameObject child of the Canvas go.transform.parent = canvasGameObject.transform; go.transform.localPosition = Vector3.zero; //Change the new GameObject Layer to UI go.layer = 5; //Or go.layer = canvasGameObject.layer; //Add Rect Transform to it go.AddComponent<RectTransform>(); }