GUI Window remove white border from active window

Well, the title pretty much says it. How do I remove that annoying white border from the focused window in GUI.Window()?

I tried calling GUI.UnfocusWindows(), but that seems to mess lots of things up.

I think I may have a solution. Correct me if I misunderstand the problem.

  1. download and import the builtin GUI skin package
  1. Create a new GUISkin

  2. In the new skin, change the onNormal background for the window to the “window” texture under the imported assets (BuiltIn Skin/Sources/). This will make the onfocus window look like the unfocused window.

  3. add skin to script:

    var windowFixSkin : GUISkin;

    function OnGUI()
    {
    //change the GUI Skin
    GUI.skin = windowFixSkin;

     //[THE GUI WINDOW]
    
     //change the GUI skin back to what it was, or to default with null value
     GUI.skin = null;	
    

    }

Hope this helps. Good luck.

Ok, I messed about for 10 mins until I worked out which it was. Here this will do what you need:

 	GUI.skin.GetStyle("Button").onActive.background=GUI.skin.GetStyle("Button").onNormal.background;
	GUI.skin.GetStyle("Button").active.background=GUI.skin.GetStyle("Button").normal.background;
	GUI.skin.GetStyle("Button").hover.background=GUI.skin.GetStyle("Button").normal.background;
	GUI.skin.GetStyle("Button").onHover.background=GUI.skin.GetStyle("Button").normal.background;

This gets rid of the white border on all conditions I can find.

Sanest, simplest solution I’ve been able to work out:

In the class that wishes to draw the non-bordered window:

static GUIStyle _NonSelectableWindowStyle;
static GUIStyle NonSelectableWindowStyle {
	get {
		if (_NonSelectableWindowStyle == null) {
			GUIStyle s = new GUIStyle(GUI.skin.window);
			s.onNormal.background = null;
			_NonSelectableWindowStyle = s;
		}
		return _NonSelectableWindowStyle;
	}
}

And then the GUI/GUILayout.Window call:

void OnGUI()
{
	GUILayout.Window(
		id: this.windowID,
		screenRect: this.menuRect,
		func: DrawMenuContents,
		text: this.menuTitle,
		style: NonSelectableWindowStyle, // <-- notice!
		GUILayout.Width(MenuWindowWidth), GUILayout.ExpandHeight(true)
	);
}

Good C# coding practices included just because I love you all.  And I’m a little drunk.