Static classes or toolbox?
This is more curiosity than anything, but I figure I'd throw it out there to maybe shed some light on a question that's been bouncing around in my head...
So, I have a basic server/client setup... on run, the client connects to the server and offers a login screen. Player logs in and so on... you get that... basic stuff...
For the purposes of simplicity and to just push the ball along, I created two static classes for things that have to be accessed from everywhere. The first maintains the connection with the server. The second just holds basic information about the user that needs to be constantly accessed... username, password, playerID, email... that kind of stuff.
So, I know I shouldn't be using statics. The general consensus seems to be that they are bad and I should be converting those over to, ideally, a toolbox singleton... and I probably will eventually. I understand how the concept works, but for the life of me I'm not entirely certain why those are preferred over the limited static variables that I have. I know that is a really newbie question that I should have already researched by this point, but when you're talking about a situation like mine where I have, at most, maybe a dozen static variables to just store information (right now... I am probably going to cut even that down to the bare minimum and just access the rest of it as needed through the server), what is the practical advantage to creating those extra classes necessary to implement the preferred method?
Thanks!
What's wrong about static classes? As long as you don't need $$anonymous$$onoBehaviour inheritance and be careful not to do stupid things with them, like referencing GameObjects you destroy and such.
Yup. Nothing like that. These are as about as bare bones C# classes as you can make. They have no functions. They don't inherit from anything and won't be inherited from. They are just containers to store information that gets acted on by the rest of the program.
Answer by UnityCoach · Feb 18, 2017 at 06:42 PM
Actually, when you look at the way type extensions are made, they use static classes.
Your answer
![](https://koobas.hobune.stream/wayback/20220612111343im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Change from mouse click to free space to a canvas button 0 Answers
save variable from previous scene 2 Answers
Game working in pc but not in Android While Testing 0 Answers
Computer screen inside of game 1 Answer
Hey guys I need help with scripting a 2 player car game I'm very confused on the whole process. 0 Answers