HOW TO LEARN GAME DEVELOPMENT
BEGINNER TO EXPERT IN 29 WEEKS

It can be overwhelming when jumping into game development for the first time, with so many articles, tutorials, books, resources and opinions circulating around the web.  This article is going to simplify the process and give you a road map to becoming an expert with Unity 3d Game Development.  We will focus on two separate sections, one to the complete beginner with no programming experience and one for the people who already have programming experience and just want to add unity development to their knowledge base.  Choose the one that fits your situation.  And if you really just want a visual roadmap, go see the bottom where we have a timeline overview with all the resources.

Weeks 1-4

The Complete Beginner

Before jumping into Unity, it will be extremely important to get a good foundation in a programming language.  Unity gives the option to choose from two separate languages, C# (pronounced c-sharp) and Java.  We will outline a path to learn each one.  All of our tutorials are in C# but honestly they are very similar so either one you choose will differ slightly in syntax.  The easiest way we can recommend (and the way I first began learning programming) would be to start with a Learn C#/Java in 21 Days book.  These are fantastic resources and break it up into manageable daily learning sessions, which also helps retain the information as well, because they have you do simple tasks to cement the concepts at the end of each daily lesson.  At the end of 30 days you will have a very good understanding of the inner workings of that language and programming in general, because a lot of languages still follow the same structure, just using different syntax.  Yes, it is completely possible to learn programming, or anything for that matter, online with free resources.  Personally I recommend books because it saves time in searching for things and they are getting paid to put out good quality material all in one place, and are easy to reference later on when you need to remember what you did in specific situations.  Plus you can’t go wrong investing in knowledge.

Here are the “Learn in 21 Days” books, if you are new to programming, get one of these! You won’t regret it.

BEST C# BOOK

Best Programming Book for Beginners

BEST JAVA BOOK

Best Java Programming Book for Beginners

OPTIONAL:

Next you have a couple of choices:  You could start learning more advanced coding techniques through further instruction, which would definitely benefit you as a software developer, or move on to learning Game Development.  Skipping this step won’t have a drastic effect on learning unity because a lot of the coding is pretty simple.

Here are some advanced materials to pick up if you are serious about developing your programming skills:

BEST ADVANCED C# BOOK

Best C# Programming Book for advanced programming

BEST ADVANCED JAVA BOOK

Best C# Programming Book for advanced programming

WEEKS 5-8: Game Development

Next we are going to jump into game development, and this is the fun part.  You now have a good foundation for programming and are ready to apply it to creating your own games.  This is a extremely rewarding process seeing your own creativity come to life in the best form of entertainment you can create! Games! It also happens to be the biggest entertainment industry on the planet, so there is definitely a lot of demand for game development specialists of any kind.

GET THIS BOOK! Game Coding Complete: This is a great all around resource for game development and teaches you the foundation of many concepts and execution of basic principles found in all games, such as game state management, UI, enemy pathfinding, saving game information, networking, you name it.  Pick this up as I still refer to it quite frequently when trying to recall basic game development programming and technique.

BEST GAME DEVELOPMENT BOOK

Best Java Programming Book for Beginners

WEEKS 9-12: Most Efficient Coding Methods

Next is a great resource to learn how some of the best and most efficient games write certain classes and functions that are common to most games.  It is a cookbook of code that implement game features that I guarantee you will run into.  Even if you don’t use their exact code, you will understand the concepts of how things are being created.  This is like a toolbox full of free programming, and it will pay for itself many times over through time saved. There is a reason this book is 5 star rated!

BEST GAME DEVELOPMENT COOKBOOK

Best Java Programming Book for Beginners

WEEKS 13-16

I know, when do we get into learning Unity?  That’s what I’m here for anyways!  Okay, time to jump into the program that started your interest in this article in the first place.  By now you probably have a vast knowledge of how game development and programming is done.  This will make Unity a breeze to learn.  Yes, it does a lot of the things you learned in previous resources for you.  But having the knowledge of how it is being done in the backend will make you a super efficient and successful unity developer, and troubleshooting will be so easy (you will basically be able to write the engine itself)!  Also there will be times where the unity managed package and basic functionality doesn’t fit your needs in your project, and you can use the skills you’ve learned to create your own scripts that do things exactly the way you want.  First I suggest watching the following video, it’s a great resource for learning the UI and basics of Unity 3D.  Another great resource is Teach Yourself Unity Game Development by Mike Geig.  He is the one that actually does the live tutorials for Unity on their site, so he knows what he’s doing, and he is extremely knowledgable.  He also is pretty good at replying at questions through his email, so he is a great resource and mentor.  I used this same book, read and did the activities front to back, and refer to it often.

BEST UNITY 3D  GAME DEVELOPMENT BOOK

Best Unity Book For Beginners

WEEKS 17-24

After going through that book you will be able to write basic games and probably will have done so already by now anyway, so now how do we continue to develop this into a skill we can be considered an expert in?  There are two factors to this, experience and continuing your education.  We have some great series on the site like the how to make an RPG, FPS, or scary game that takes you through each part of creating these games and they will really help you understand any missing pieces that you have yet to cover.  Also, our Unity tutorial section is loaded with amazing content to learn more advanced development techniques.  Below are 10 series we recommend checking out, from beginner to expert, that will help turn you into an expert:

WEEKS 25-29

Lastly, we will outline a few advanced unity resources that are sure to be helpful:

BEST ADVANCED GAME DEVELOPMENT BOOK

Best Unity Book

BEST ENEMY AI BOOK

Best Unity Book For Beginners

IMPORTANT:

We also recommend being an active member in the Unity Forums.  Go and try to answer questions that challenge your knowledge and skill (by researching of course).  This is a great way to learn things that are likely to give you trouble at some point along the way as well, and you will have already solved it!

And now you’re here, and you’re an expert! If you have any resources that you think would be valuable to others reading this post, let everyone know in the comments.