I am basically trying to make a button move from one layout group to another. What I am working on is a little more complex than that. The current Hierarchy setup I have is :

Canvas

.-Scroll view

…-Viewport

…-Content(Vertical Layout Group with no Forced Expand and Content Size Fitter with vertical fit - min size)

…-Panel[named tier 1] (Vertical Layout Group with Forced Expand width)

…-Text(Layout Element with Min Height 40)

…-Panel[named tier 2] (Vertical Layout Group with Forced Expand width)

…-Text(Layout Element with Min Height 40)

…-Panel[named tier 3] (Vertical Layout Group with Forced Expand width)

…-Text(Layout Element with Min Height 40)

…-Panel[named tier 4] (Vertical Layout Group with Forced Expand width)

…-Text(Layout Element with Min Height 40)

…-Button1(not interactable)

…-Button2

What I am trying to accomplish is, when Button2 is clicked move Button1 (and Button2 which is a child of Button1) to tier 3 and so on up to tier 1.

I don’t necessarily need the whole process, if I can figure out how to get it from tier 4 to tier 3 I might be able to figure out the rest.

I feel like it shouldn’t be as hard as I making it so if there is a better way to accomplish this please point me in the right direction. Any help and/or advice is greatly appreciated.

Well unlike the old OnGUI and GUILayout, which I still use very often for editor extensions, EditorGUILayout doesn’t even have a Button lol.
Anyway new UI elements act EXACTLY like a gameobject, with a few extra variables.
So, edit it the same, you want to move a UI element? Move it like this.

using UnityEngine;
//this script is attached to the UI element
public class moveableElement : MonoBehaviour
{
     void Move(GameObject newParent, Vector3 newPosition)
    {
        gameObject.transform.parent = newParent.transform;
        gameObject.transform.position = newPosition;
    }

}

@RobAnthem
Thank you! I tried what you said and got a log error about using SetParent. After a little tinkering I got it working like I wanted.

Thanks :)!