unity set parent canvas

Code Example - 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>();
}