Where to start learning game development

“How do you learn game development?” It’s a question we are often asked by new developers or people who are interested in either creating their own games or joining the gaming industry.

Our answer to this actually fairly broad question is, “Start with Unity”. So here is a quick breakdown of what Unity is, why we recommend it, and where you can learn more.

What is Unity?

In short, Unity is a game engine that makes developing high-quality games faster.

As a Unity-Engineer we spoke with once said, “game developers used to either have to start from scratch each time they created a new game or create their own custom game engine for their projects. Thanks to Unity this time-consuming process is no longer required.”

What the engineer is referring to here are the elements in games most new developers forget to consider when dreaming about the amazing new games they are going to create.

Things such as “gravity”, “lighting” or “basic physics” don’t exist inside the digital world of your computer. Even things as simple as making your character jump used to require massive amounts of work, code, and time in order to implement – which is all valuable time you need to spend creating stuff you aren’t really interested in.

Unity handles all of these “basic” things you need in order to create the fun gameplay experiences you are actually interested in, allowing you to start creating your dreams from the get-go.

In the long run, Unity is still better

Although the chances of anyone actually thinking this are slim, for any noobs considering just going old school and creating your very own custom game engine, our advice to you is, don’t.

Creating a custom game engine means also updating and maintaining that engine to work on/with whatever services, platforms, and devices your game happens to be available on.

For example, if you have a mobile game that is available on iOS and Android and allows players to share their score to Facebook and Twitter, that is two platforms and two API you will need to keep a constant eye on. Add a leaderboard, multiplayer functionality, and Steam support to this and you’ve got yourself a bit of a disaster.

Even if you choose not to use Unity, we highly recommend using a well-established game engine that is used by as many developers as possible in order to prevent yourself from getting stuck in the future.

Why choose Unity?

The simple answer is because Unity is the most widely adopted.

Most of the AAA studios we’ve interviewed list Unity as a requirement in order to apply for a job as a game developer. If you’re wanting to make it in the gaming industry, Unity is kind of a requirement.

“If you absolutely hate Unity, you always have the option of choosing Unreal Engine (which has increased in popularity since Fortnite) but still isn’t anywhere near as popular as Unity.”

Another benefit when working with Unity is the Unity Asset Store.

On the Assets Store, you can find everything from pre-built games that are ready to sell, to parts of games, 3D models, sounds, textures, and everything in-between.

You can also purchase powerful tools that allow you to customize Unity itself which is a great way to speed up development.

Ok, where can I learn Unity?

If you’re learning Unity as just a hobby, or just want to know what is possible, we recommend starting with YouTube. Brackeys is a great channel that guides beginners through the first steps of learning how to work with Unity.

Assuming you’re a little more serious, or already have prior coding experience, taking a few Unity courses on Udemy is an excellent way to brush up your skills online – and you are given a certificate at the end which is always helpful.

Another option would be to wing it and jump right in, relying on the very thorough Unity documentation and support forums. Although this is definitely possible, I wouldn’t recommend it… 😅

For our community.

Did we miss anything? Are we completely wrong? Please feel free to share your thoughts with us either in the comments or on Twitter.