What should i learn for unity C# or UnityScript?

Hey What should i learn for unity C# or Unityscript?

PS. I have no previous experience in programming or scripting

Please don’t be offended or discouraged but his, but Unity and 3D gaming in general are not a good place to start learning programming! You are more likely to get frustrated and give up than you are achieving anything.

If programming in general and 3D programming in particular is what you would like to get into, my best advice to you is to forget about Unity for now and spend a year or so learning programming with either C# as your first language. Build a few simple programs first and build up your confidence and knowledge before you take the plunge into 3D.

Once you have a solid foundation in programming and C#, you will also need to learn Linear algebra and 3D Math. It is impossible to write code for a 3D environment without understanding vectors, matrices and trigonometry in 3D. Again, if you don’t acquire a foundation first you are likely to despair.

With this foundation you can then get into Unity, although still I’d recommend reading up on 3D gaming programming in general first a bit as well, understanding how the above topics come together to form a game and get a general grasp of how a modern game engine works.

Again, I’m not saying these things to offend or discourage you, quite the opposite. I’m saying this from experience: biting more than you can chew is a sure way to get frustrated and give up. It’s a long and enjoyable journey with a lot of satisfaction along the way but you must take it in small bites.

Do some tutorials and read a book on C# programming or one of the Unity programming books.


The best way to learn is by doing (sorry for the platitude), so you should set yourself simple goals within Unity and solve the problems that you encounter. Generally when learning to script, you’ll start with understanding variables and types first, then flow control and conditions, then structured programming with functions and return types. After that, you’ll slowly get into software architecture, the underlying CS principles, and advanced language features.

There are tons of Unity tutorials on the net - pick some that include scripting and follow along. You’ll slowly pick up the knowledge that you need. Another way to specifically learn C# in a game logic environment might be to actually ignore Unity for a little while and learn XNA programming first. There’s a lot of professional books on that topic. The concepts you learn can be applied back to other environments like Unity.

Well, 15 is a good age to start: I suggest you to start with Unityscript (it’s easier) and play around with the docs examples to implement some simple things, like making a cube rotate at constant speed - copy the [Transform.Rotate][1] examples, for instance, attach them to a cube and try to understand what’s going on. The docs have lots of simple and good examples (and some really bad ones!) that may help you understand some basic concepts.

Anyway, you will eventually have to learn C# and geometric concepts like vectors, points, etc. - but it’s easier to learn while doing the real thing, and when needed consult the books or the Mother Of All Knowledge (wikipedia) to learn the right thing.

[1]: (Unity - Scripting API: Transform.Rotate