Game development is a dream job for many, but what’s the best place to start learning?
If you’re an indie or solo game developer or have the aspiration to become one, chances are you’re going to be looking at the option of building your game in the Unity game engine. It’s got an intuitive and easy-to-learn interface, a great programming language in C#, and increasingly it can play with the big boys when it comes to graphical fidelity. On that last point, as you can read in our Unity vs Unreal Engine comparison Unity might not be quite there yet when it comes to photo-real graphics, but it’s come a long way and is getting better every day. Perhaps the most significant advantage Unity has over its competition is the insane amount of documentation, tutorials, guides, and other learning resources. So I figured a Unity tutorial guide for beginners was in order.
C# Learning Resources:
It might seem strange that I’m starting off an article about learning Unity with this, and if you’re an artist who just wants to use the engine to render environments or build levels you can probably skip this paragraph. But if you want to do any “real development” in Unity, having a good understanding of C# before you start will be a tremendous benefit. To that end, I recommend doing free interactive browser-based tutorials. You can find these many places, but in my experience Microsoft’s own dotnet.microsoft/learn platform is a fantastic, straightforward and quick tutorial to get you started. There are similar and also free tutorials from Coursea, Simplilearn and (my favorite) Codecademy.
Docs.Unity
Once you’ve got the basics down learning C#, it’s time to start getting to know the Unity Editor, things like the monobehavior, transform, gameobject, what a component is, the basics of the physics system, animation, and the list goes on and on. One of the best places to get an overview of all these things is Unity’s own docs.unity page. It’s well-categorized and indexed, provides useful examples and screenshots or videos (when relevant), and has easy-to-understand explanations of some of the trickier concepts (check out their page on Quaternions for example). Unity’s documentation won’t really teach you how to make a game, it’s too segmented and specific for that, but if you want to know how certain classes, methods, events, or variables work and what they’re useful for; then Unity’s documentation is by far the quickest and easiest-to-use resource.
Online Learning Platforms
You might find that a more structured approach is beneficial, in that case places like Unity’s own Learning resource, Udemy, Skillshare, LinkedIn Learning (formerly Lynda.com), and Coursea are a great resource, though usually not free. But, in return for the price, you get a much more comprehensive start-to-finish learning experience, follow-ups and feedback on deliverables, and perhaps most importantly; actual recognized certificates to prove your mastery. It’s not that these platforms necessarily have things you can’t also learn for free using a combination of documentation, development communities, and Youtube Unity game tutorials. it’s that the commitment you made by paying for it and the structured approach make it far more likely that you’ll actually finish and learn everything the course has to offer.
Unity Forum, Stack Overflow, Github, Reddit, and other communities
Once you’ve got a basic idea of how to work with Unity and develop good code in C# (or visual scripting), you’ll almost definitely still run into blind spots and need to look things up. When you start googling, you’ll notice a few websites keep popping up again and again, these will be primarily the Unity Forum and Stack Overflow, but you might also go look at public code from other developers on Github, or venture into other development communities on Reddit, StackExchange, etc. Unless you’re dealing with a very basic problem, you won’t find exactly the code snippet you’re looking for in any of these communities (unless you’re really lucky), but you can usually find parts of what you need in a different form, and if you know the basics of C# (see my first tip) you should be able to combine and reconfigure solutions to suit your needs.
Educational Youtube channels
As I mentioned in the intro, one of the biggest advantages Unity has over Unreal and other engines is just the sheer amount of documentation, learning platforms, community activity, and of course educational Youtube channels. Even though this is the last thing I’ll talk about in this article, don’t let that scare you away because if you just want to hit the ground running and make a small game right away without the fuss of learning every corner of the Unity engine or fundamental theory behind object-oriented programming and C# specifically, then Youtube channels are usually the way to go. Sometimes it’s best to just follow along a Unity 3D tutorial (or 2D) made by a skilled and charismatic professional that guides you through every setting and code snippet. Here are just a few recommendations of channels I like, but there are hundreds more waiting to be discovered.
- Brackeys – Hosts the best Unity beginner tutorial on Youtube, and has a huge library of useful content despite being inactive for years.
- Codemonkey – Does tutorials for Unity both basic and more advanced, and concept explanation videos for C#.
- Jason Wiemann – Really good at covering and teaching new technologies, techniques and features as they are added to the Unity engine, also does live devlogs.
- Blackthornprod – A purely 2D focused channel, they have regular Unity 2D tutorials, as well as guides for how to make great 2D art for your game.
- Sebastian Lague – Great for learning how code can interact with 3D geometry, animations, and shaders to make huge and impressive procedurally generated worlds.
- iHeartGameDev – Fantastic source for learning about animation and the Unity state machine system, teaches you to take your animations to the next level with IK rigging, layers, and more.
- UGuruz – Another great source for learning about animation in Unity, but even better for things like post-processing, lighting, and camera and render pipeline settings.
- Polytoots – An excellent shader learning resource, that shows you how to get the most out of your models and materials.
- Gabriel Aguiar Prod – The superstar of Unity VFX, his educational content is unbeatable when it comes to impressive VFX in Unity.
- Sykoo – Scene composition, lighting, post-processing and rendering. Sykoo focuses pretty much exclusively on creating visually stunning scenes in Unity for games and film.
Lastly, if you read this whole thing, checked out the links and have decided “You know what, perhaps Unity isn’t for me.” Then that’s fine you know, whatever, I’m not hurt, but before you give up on game development completely, check out our Unreal Engine 5 tutorial guide, perhaps that will be more to your liking.