Whats the best way to learn unity

I started learning the Unity engine a week ago, as a programmer I wanted to learn mostly the coding part of Unity.
The problem is that is a bit difficult to learn it. Every tutorial I have seen is in Unity 4.I basically learn from the official site of unity, but It takes a lot of time to understand something in the site, the scripting API is really helpful but difficult.
Could I learn unity engine by just learning from the Documents?
How much it took you to learn unity(in a sense that you can make a 3d game with sounds, animations etc.)?
How much it will take to learn the engine?

Hi and welcome !

As a recent fresh one in Unity, I totally feel you. Even if you feel a bit lost with the official tutorials, I recommend that you watch at least the “Interface & Essentials” ones and the first couples of dozen from the “Scripting” part.

Then, if you think you need more materials, try some other third parties tutorials. I listed a few good ones in my post where I keep updates on my progress:

Finally, the best is to begin to code a bit, just to see some things in motion. You can within one month make easily one of the basic tutorial (like Roll-a-ball) and the continue bit by bit (adding sounds, animations etc). But don’t forget that watching videos and reading pdf does not do the job, you have to code to understand the code, watching and reading alone are not sufficient.

Good luck !

Disclaimer:

  1. I am still learning, and will probably find something new every day, when i use Unity. You should, too.
  2. Unity 5.2 is still unstable. Avoid it for the time being (for a couple months at least). The Unity 4 API is compatible with the Unity 5 API.
  3. Expect that you will need time to learn Unity. It is a very powerful platform, which imposes restrictions on the learning on itself.

The best way for me to learn the Unity API was to search for my concrete problem in a search engine. Unity Answers, the API docs (and only these, the Unity Manual is too inconsistent at the moment) and these forums were very helpful. Tutorials, on the other hand, were too tedious.

Thus, i urge you to start something very small and practical on your own (that is a part of your future plans). Then learn in that order:

  1. The Unity GUI. It is used, in a pleasant way, to help the coding part.
  2. The component based approach (plus OOP, in not too much detail) that is used in Unity to organise the code structure of every project created in Unity. It was eye-opening for me to use the Unity coding conventions. And i swear, if you follow that conventions in your other projects, you will be a better programmer after that.
  3. How to organise your project. It is not Unity specific and not coding specific, but your success depends on it.
  4. Look (and not use, at the start) at the Asset Store and the Unity forums for complete solutions. There are solutions to various smaller problems that you could encounter in your way. Study them (briefly) to find if they help you for the previous point.
  5. Write a little (C#) code that solves a particular problem of yours.

Then expand the scope of your project a little. And reiterate the above points. Stop with that approach, when you feel that you learnt all aspects of the Unity GUI. Because the GUI is the binding component for the vast work fields that are associated with the game programming, and Unity in particular.

At that point you should be able to divide your project in smaller parts, which can be made in a reasonable amount of time. And actually make them. It took me three years to reach that point.

1 Like

Well “best” is a relative term; there are a few different ways to go about it, with different pros and cons. The most obvious approach is to watch the video tutorials in the Learn section of this website.

However if you are an experienced programmer, just new to Unity, then I suggest my book Unity in Action. I wrote it specifically for that target audience, and it’s pretty highly rated on Amazon.

I don’t agree that you should avoid the latest version, but even if you do, there’s no need to go all the way back to Unity 4. I mean, Unity 5.0 was released back in March.

I will use the material you gave me thanks!
How about clothing in a game, i read that there is a cloth class?

I’m not sure what “a cloth class” is referring to, but I’m guessing a softbody physics simulation, in which case it really depends what kind of visual effect you are after. Like, most clothing on a character is just part of that character’s model, but for something like a flag flapping in the breeze then you might want a softbody physics simulation. What are you trying to do? (also, you might make that a separate thread, since that’s a different question)

You also probably want to wait to tackle that until you’re a bit more familiar with the basics Unity offers.

Back on topic, I believe the best way to learn Unity is: naked.

Well, I really needed a reference about cloth :).I am not sure I am gonna use that(in the near future at least).
What do you mean the best way to learn unity is naked?
:slight_smile:
Thanks again all of you for the answers.

I good place to get Unity sources is Humble Bundle. They often have books about c# and unity for a pretty good price.

As a longtime C++ programmer who wanted to treat C# and Unity as a weekend hobby, I came across many different guides and courses. They always left me somewhere in the middle or at some point exhausted me enough that I stopped treating it as a hobby.

The best intro I’ve come across is here on the official Unity platform (thanks Carl!).

Supplemented with additional information regarding C# from here.

From now on, you should be ready to operate independently with the manual.

Armed with the basics and the ability to use the manual yourself, you move on.
Good luck!