GUILayout.Box

is there an option that makes the box fit the entire layout between BeginGroun and EndGroup?
In other word: if the layout group contains 3 buttons, is there a way to draw a box which encompasses all three, and also have the layout “grow” from one corner and along one axis - so for instance define the coordinate of the lower left corner and have layout handle the offsetting of the upper right corner.

If I understand you right, you want to have a box that changes size based on its contents, all using GUILayout.

The way to do that is to assign a GUIStyle to the parent Area or Window Rect that does not have a texture. Make it plenty big to fit all of your predicted content, and set the width especially to the maximum width you want the box to be.

Then for the BeginHorizontal or BeginVertical group you use to contain your buttons, assign a GUIStyle with the texture you want for the box. The background will size to contain the specific elements in that group.

That’s great thanks, so if I understand it will only give me a background color, no edge to the box.

It will use whatever GUIStyle you assign to the Horizontal or Vertical element. So it will use the texture, border, etc. in that GUIStyle.

I am trying to do this exact same thing (but with GUILayout), but I am confused on how i would create a GUIStyle instance for this. I want my area to be a fixed width, but the height to grow as i add controls vertically. I also need a box that encompasses all the controls (a border would be nice). How would I instantiate a GUIStyle to do this that would be passed to BeginArea? The box can be be the default semi transparent color as a normal box, no texture needed.