- Home /
How to re-skin multiple buttons with different skins in unity 5 using C#
I have been working on a game for a long time now and the finishing touch is gonna be the main menu. I still haven't figured out how to re-skin every single button with different skins. Could someone help me out because everything, everything I find is in JS. I MADE THE WHOLE GAME WITH C#! DON'T SAY THAT IT IS IMPOSSIBLE IN C#! I'm from Finland so there may be some slight errors in this post. Sorry if there is.Oh, and sorry for those who feel offended because I don't like JS.
Answer by siaran · Mar 22, 2015 at 03:42 PM
Uhh, how about
public GUISkin skinA;
public GUISkin skinB;
void OnGUI(){
GUI.skin = skinA;
GUI.Button(buttonparams here);
GUI.skin = skinB;
GUI.Button(buttonparams);
}
It's not really different from what you do in javascript I think? Although that does look sort of horrible. Oh wait, you can give a texture as a parameter to a Button right?
so you'd get
public Texture2D buttonA;
public Texture2d buttonB;
void OnGUI(){
GUI.Button(somerect, buttonA);
GUI.Button(somerect, buttonB);
}
Which does look a lot neater. Or you could use the new UI system, which makes it even easier.
Also, C# can do everything javascript can do, and look better while doing it! (I would've said C# can do more, but they're both turing complete languages, C# just has better support built-in)
Your answer
Follow this Question
Related Questions
Distribute terrain in zones 3 Answers
Hold Down GUIButton? 1 Answer
Unity Editor script arrows to display a variable 2 Answers
Changing GUI Skin button states with touch input 1 Answer
How to touch up the UI in real time? 1 Answer