Top 4 free C# resources for Unity3D beginners.

Top 4 free C# resources for Unity3D beginners.

best C# Resources for Unity 3d

Here are a few questions lots of first timers to Unity3d always ask online, “What’s the best way to learn C#”, “Should I learn C# or Javascript”, “Do I have to learn a language first before learning Unity3d?”, “What’s the best way to learn a programming language?”, “What are the best resources to help learn programming for unity”. These were also the first questions that were on my mind when I started up (I’m still new but have a great collection of learning resources) and I will clearly lay out what I learnt here to help those just starting out and make the journey smoother. 

From the title, you probably already noticed a bias for C# which is the most popular in the Unity community. For me, I was a non-programmer beginner who at some point tried to pick up Javascript. I was already familiar with simple programming principles such as variables, loops, if Statements and functions (Methods) before starting up. Although, I originally came into Unity learning with some knowledge of Javascript (JS), I was told by every expert running some video tutorials out there that JS runs slower than C# and also since Unity’s implementation of JS (called Unity Script) is a bit different from the original ES standard, a beginner learning JS might have no use for Unity Script outside the Unity Engine unlike C# which is a standard language and remain useful outside Unity ( should you intend to expand your skill set at any point). Also, most of the tutorials you will be learning from are written in C# and the larger part of the community or Studios (If you hope to get employed) use C#, so it is an easy and better choice. 

Concerning what to learn first, I believe both Unity and C# should be learnt simultaneously. Since C# simply helps you script the behavior of objects in your game, there are other parts of Unity to learn alongside e.g the UI system, use of components such as Rigidbody and Collision boxes, particle effects,  Physics and a lot of other things like the Animator. These days, you can even learn Augmented Reality without the need for scripting but as it is, everything becomes interesting once you get some programming skills.


Yeah, programming is tough, especially for those of us without the background. But then, its not as difficult that it becomes unlearnable. For starters, you should aim at learning the basic principles which you can easily grasp in less than a week (for folks new to programming). What you will be learning include the basis of programming, variables (types and declaration), Loops, methods, classes, Arrays, If Statements, Switch Statements. These will be enough to get you through most tutorials while you keep learning advanced concepts as you go. It is always better to learn through one or two pure C# tutorials, then followed with project based tutorials to see how programming concepts are applied. If you are looking for the best free C# resources to get you started in little time, here are my top 4;


C# for beginners – Bob Tabor : This is one of the best intro to C# you can get anywhere. Hosted on the Microsoft Developers Network. Bob’s C# and even JS lessons will ease your entry into the world of programming. It’s almost the best out there, but then, it’s purely designed for .NET developers but don’t worry, it works for Unity developers too, just get your Visual Studio set up.

C# tutorials – Brackeys : This was my first C# for Unity tutorial guide and it made things clearer. You can find Brackeys on Youtube teaching Unity.

C# tutorials – Charger Games : This series by a channel called Charger Games is more comprehensive than Brackeys’  (C# wise). While brackeys’ explained the basis of programming using C#, Charger games goes deeper into the implementation of C# for Unity and introduces you to Unity’s API better.

C# Tutorials – RayWenderlich : This website teaches IOS Game development and Unity among other things, but its C# tutorial series for Unity is also detailed and good but you have to be patient with this one.

For beginners, focus might be a good virtue when starting, (focus and patience). There are hundreds of resources out there but picking one or two of the above and focusing on them will see you progress faster than jumping courses and most importantly, they are all free and probably more valuable than courses you will pay for.

Once you start learning some C#, its good time to start getting project based tutorials, I suggest you go with Unity’s official tutorials and also you can check out a few books that could be useful in your training.