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


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. = 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?


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() { =;

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 () { = CustomGUISkin;


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



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: