GUI background changed, don't know how to reset it.

Hello,

I changed my GUI background with this line of code, using an image i created but it turned out to change the background for all my GUI boxes.

GUI.skin.box.normal.background = myBackground;

Now, even though I deleted the image, the line of code and the variable that set it, it wont go back to the original GUI skin. How do I set it back to the way it was by default?

Thanks!

Unfortunately in Unity it isn’t provided such function. Therefore it is necessary to make the following. For a start create in your Assets folder (or where that still) GUISkin (Create-> GUISkin). Don’t change it. It has all standard data. Including backgrouds. Further in your script create public variable for this skin. And, for example, in OnGUI(), write the following code:

 public GUISkin standartSkin = null;

 void OnGUI() {
  GUI.skin.box.normal.background = standartSkin.box.normal.background;
 }

After start your application. And as soon as to be executed the OnGUI function, need for standartSkin and code line for OnGUI isn’t necessary. Therefore they can be deleted. I hope it to you will help.

Once you change a GUI to a custom one, the default Unity one is deleted and gone. You may be able to restore it by making a GUI Skin and applying it to the script, and not changing a thing.

This can easily be done.

	public GUISkin CustomGUISkin;


void OnGUI () {
		GUI.skin = CustomGUISkin;

etc

and in the inspector, drag your GUISkin (Assets>Create>GUISkin) onto the variable placeholder

[23391-picture+2.png|23391]

PS:

GUI Skins are the way to go for custom GUI, its much better than coding it all in, and you have a visual representation too :slight_smile: