- Home /
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!
Answer by zharik86 · Mar 11, 2014 at 07:23 AM
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.
Awesome! Thanks! This is definitively the right answer!
Answer by thornekey · Mar 11, 2014 at 01:13 AM
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
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 :)
Cool, thanks for the tip! I was afraid of making a bunch of skins for all the different box styles I need but it will prevent damage to my project. A very good answer but I have to give the right one to zharik86. Thanks a lot though!
Your answer
Follow this Question
Related Questions
Paused Menu backdrop 1 Answer
my GUI.box is transparent 1 Answer
Background of GUI.TextField disappears when using a GUIStyle 2 Answers
Automatic GUI resizing 1 Answer
GUI Skin Layout Issues 0 Answers