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 = windowFixSkin;

     //change the GUI skin back to what it was, or to default with null value = 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:"Button")"Button").onNormal.background;"Button")"Button").normal.background;"Button")"Button").normal.background;"Button")"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(;
			s.onNormal.background = null;
			_NonSelectableWindowStyle = s;
		return _NonSelectableWindowStyle;

And then the GUI/GUILayout.Window call:

void OnGUI()
		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.