Learning Unity

Learning Unity

One of the things that I do is teaching game programming. Almost 100% of the time I spend teaching, the tool I’m using is Unity . Obviously I’m asked about all sort of things and features about the engine, but some questions are asked much more than others. So I wrote this post in order to make some kind of informal FAQ and help students find more easily these answers. This post will be updated constantly with new links, answers and general advices on game programming. techniques, plugins, and all the other things I find useful to make games using Unity. Any suggestion or idea to expand and improve this list is wellcome, just send me a message through the Contact tab.

Official Unity Information

Learning Unity page is the best and most reliable source of information on learning Unity. There ara many Tutorials and Complete Projects to learn from. There are also some Live Training with a list of the previously recorded sections available and new sections every moonday (it seems the page has not been updated from sometime now, but there are a lot of good sections).

In the official learning page you can also find another good source of information and probleming solving tips in the UnityAnswers page. There’s also the official Unity’s Youtube Channel with videos from conferences about Unity, developers’ interview, upcoming games and other cool things. The last thing official from Unity it’s the Official Blog Page.

Programming in Unity

To do almost anything worth playing in Unity, you need to write code. You can use C#, some sort of JavaScript dialect and Boo (a sort of Python dialact that runs on the .NET plataform). I will foccus on C# because it’s the most used and most powerfull language of the three. The C# book at the WiikiBooks is a very good introduction. Microsoft’s (the creator of C# programming language) page on C# has also a lot of good informations on learnign C#. For programming C# in Unity I recommend the official links in the previous setion.

There are also three other programming sites that I can’t recommend enough. One is PythonTutor. Although is not C# and is not directly related to game programming, is a fantastic tool to visualize what the code is doing behind the courtains when the machine is executing the program. The second site is CodingGame. This is a tool where you learn to programm by writing the logic for a game. All the framework and art for an actual 2D game is already setup, and you have to follow the lessons to complete it by programming. You can choose from more than a dozen languages, C# included. If you need to choose something to pick first, try CodingGame. The last site is Khan’s Academy Computer Programming. There’s a setion to learn web game programming. All the code is in JavaScript.

Paid Courses

Before posting the links for this part, let me clarify that I have no affiliation of any kind with any of these companies and sites. This is here because a lot of people ask me about courses with advanced topics and I know no free site that you could learn from. I myself took some courses from these sites and I can testify they have good material on many subjects.

Lynda.com is good site with thousands of courses, and some of them are aimed to teach Unity. DigitalTutors has a lot of courses to teach game development in general, and they have a complete catalogue with Unity lessons. The last paid site that I can recommend is 3dbuzz. They also are a company specialized in digital tools for creative professionals and game development.

Blogs, Channels, Unofficial Stuff

There are a couple of blogs that I would suggest you to check regurlaly. The first is Alan Zucconi’s blog. He’s an independent developer and posts a lot of good stuff about game programming and programming in general. He also wrote an excelent book about Programming Shaders in Unity. Michael A. Carr also has a good blog about programming. And last, but certainly, not the least (far from it), I recommend the Youtube Channel Handmade Hero. It’s mantained by Case Muratori, who also has a separated blog (not updated very often because of Handmade Hero project, but still with a lot of good stuff), and it’s a series of videos, live sections, about programming a 2D game from scratch, and from scratch I mean with no engine, no framework like DirectX or OpenGL. He’s using C, not C++ nor C#, and is very low level programming, but if you have time (by the time I’m writing this post for the first time, he has published 300 videos), this series is worth watching from day one to the end.

That’s it for now. Enjoy the links and happy coding.


End of Line