Skip to content
UdemyUnityPaid courseIntermediate levelCertificate

Unity For Software Developers (Udemy.com)

Apply your programming knowledge to game development and start making 3D games in the Unity game engine using C#

Created by: Charles Amat

Last updated July 2022

icon
What you will learn

  • Learn to create games and interactive experiences using Unity with a focus on C# scripting in a 3D Viking survival game demo
  • Understand how C# scripting works in Unity including MonoBehaviours, ScriptableObjects, script interactions and profiling for performance
  • Effectively manage your Unity project to build scalable games using version control, namespaces, assembly definitions and custom Unity packages
  • Learn how automated testing helps you to avoid introducing bugs into your game as it grows over time with play and edit mode tests.
  • Tie it all together with an example combat implementation which uses all the skills you've learned.

How it compares

Against the other 183 rated Udemy courses in Unity on CourseDuck:

  • Rating4.0 out of 5higher than 6% of them
  • Reviews59#161 of 184 by number of reviews
  • Length2.8 hoursshorter than 87% of them
  • Last updatedJuly 2022more recently than 61% of them

icon
Course Description

Welcome to Unity For Software Developers, the only course you need to learn how to apply your skills as a developer to making games with Unity. This course is created by Charles Amat, host of the Infallible Code YouTube channel where over 61,000 devs learn how to program games with Unity!

This course assumes that as a developer your time is valuable and seeks to present its subject matter in a clear and concise presentation over the course of just under three hours allowing you to skip the fluff and get start quickly. This is not a course to learn what a variable or function is and if you have zero programming experience, you should study some programming fundamentals before taking this course.

  • The course is taught by Charles Amat who is a senior developer at Thousand Ant, a studio who develops Unity content for Unity Technologies themselves and creates educational material for companies like Microsoft and Google.

  • The course has been updated to be 2022 ready and you'll be learning the latest tools and best practices for making games in Unity.

  • This course doesn't cut any corners, there is a custom 3D demo project called “The Norsemen” including a rigged and animated character and dozens of 3d assets which you can use in your own prototypes.

  • The curriculum was written and developed by Charles together with Matt Schell, the former head of Online Evangelism for Unity Technologies who created many of the most popular Unity video tutorials on their own YouTube channel.

  • We've helped millions of learners learn how to program in Unity via our YouTube channel and many have gone on to change their lives by becoming professional game developers.


We'll take you step-by-step through engaging video tutorials and teach you everything you need to know to apply your skills as a developer to making games in Unity.

The course includes over 3 hours of HD video tutorials and a custom made, exclusive 3D survival game demo with animated character and example source code.

Throughout this course, we cover a massive amount of tools and technologies, including:


  • An exclusive 3D viking survival example game “The Norseman” with art, animation and shaders using Unity’s Universal Render Pipeline

  • Unity with a focus on C# scripting

  • MonoBehaviours

  • ScriptableObjects

  • Script interactions

  • Profiling for performance

  • Managing your Unity project to build scalable games

  • Using Git version control with Unity

  • Namespaces

  • Assembly definitions

  • Custom Unity packages

  • Automated testing with play and edit mode tests.

  • Simple inventory system

  • Example combat implementation


By the end of this course, you will be well grounded in Unity’s technical fundamentals and ready to start making your own games.

Sign up today, and look forward to:

  • HD video lectures

  • Clean, well-structured example code

  • A high quality custom built 3D demo project

  • A downloadable local Git repository with each module as a separate branch


REMEMBER… we’re so confident that you'll love this course that we're offering a FULL money-back guarantee for 30 days! So it's a complete no-brainer, sign up today with ZERO risk and EVERYTHING to gain.

So what are you waiting for? Click the buy now button and get started on your game development journey!


Who this course is for:

  • Software developers who want to learn Unity without having to cover basic programming concepts for beginners

  • If you want to learn modern Unity best practices designed for building scalable, clean projects and not game-jam example code

  • If you want to learn game development using professionally created art and animation instead of boxes and cubes

  • If you want to take ONE COURSE and learn everything you need to know to get started programming Unity games right away in a clean, concise, professional and well-structured course.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Charles Amat

Charles Amat is a C# developer with a passion for teaching others how to develop games the right way using clean code. Charles has years of experience both in game development and enterprise software. He has taught thousands of Unity developers how to make games via his Infallible Code YouTube channel and collaborated with companies like Unity, Microsoft and Google to teach people how to program better games and software.

icon
More Unity courses

$79.99

$74.99

$149.99

$13.99

$149.99

$16.99

icon
Reviews

4.0

59 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Andy Pett on 1/8/2026

This course left me a bit in the middle, because there are sections that are quite nice, but as the title was Unity For Software Developers, I was hoping for something that showed a bit more advanced code in practice to demonstrate the best practices for game development. There are some nuggets in here that I enjoyed, but not enough to make me feel satisfied with the course as a whole. And the automated test section was nice, but very lacking. I was hoping for more advanced setups, because the examples shown are quite simple to figure out for someone who's already familiar with software development. So it's like a course not quite fit for complete beginners, but also not quite fit for experienced developers who are crossing over to game development in Unity. However, if you don't know anything about unit testing in Unity or profiling, you will learn something. And I did not know about the Assemblies files which is a great improvement to avoid compiling too much all the time. Plenty of nice stuff, but did not quite live up to expectations.

By Yuri Flagrare on 5/29/2025

This course has a very specific niche and a very specific need it fills: I am a software developer with 8 years of experience, and that has some Unity experience. I was struggling to understand how to connect the pieces in Unity outside of game tutorials because I did not understand how the engine worked under the hood. This course helped me fill in the gaps of that. That being said, the course is super high-level; you will probably not be able to follow along, and if you have never touched Unity, it will not help you. You will also not be building a game -- which, for me is not a problem; I have many other courses that fill that need-- but you need to be aware of that before starting out.

By Arnaud Candaele on 12/21/2022

As much as I absolutely love the Youtube videos, I'm a bit disappointed here. The content is good, but I have the feeling it is either too succinct, or that the scope isn't well defined. One one hand we find quite basic lessons (introducing Coroutines, ScriptableObjects, etc. - which are good & interesting, but obviously target an audience quite new to Unity), and on the other hand much more advanced topics (at least for me) related to testing, maintainability, etc. The project itself has quite advanced features in it, and again, someone new to Unity won't understand many of the bits composing it. So.. yeah, a good overview I'd say, but it would definitely gain from either reducing the scope, or turning this into a full size Unity course. Again, each individual lesson is well done, well explained.. but it's the global coherence that I find lacking.

By Aiden Dickson on 9/23/2022

I'm a bit of a beginner with foundational experience in Java, Python, R, but a strong desire to move to Game Dev and VR. I'll be revisiting this frequently as I found it incredibly rich in keystone concepts, that I've run into, but never had explained to me so well. I wish this was offered as part of my Comp Sci degree courses!

By Mojtaba Almiskeen on 8/6/2022

I liked the course; it dove into many topics for unity that are hardly discussed, like, what I liked the most: 1- Inheritance vs Component scripting approaches for unity. 2- Editor Test and Playmode tests 3- How to create my own custom unity package. The high level exposure to the concepts is great. Although I expected more out of the course, and since the course is still can be improved, here are things that I expected this course to have: 1- Show more examples and use cases for the Inheritance vs Component approaches and the Functionality way of thinking vs Identity. 2- Show more examples of unit tests based on your experience 3- Show more details of how to setup the Custom Unity Package, including how to actually export it and import it in other projects 4- More examples and technique of code decoupling 5- Dive into more advanced topics like (Coroutines Vs Async) initiation, maintaining, cancelling, use-cases ... etc. As you see fit. 6- More advanced uses of Scriptable Objects like adding functionalities and methods to them (Maybe can be used to reference managers, or share methods for some functionality or even resetting their values) 7- Multi Scene Workflow in which you have multiple scenes loaded at the same time for different reasons and how to manage them. I will share more once I have more items in my mind to include in this list. Cheers!

By Ryan Skinner on 7/30/2022

I thoroughly appreciate Charles' ethos when it comes to software development and it is definitely conveyed is this course. Coming from a long career doing corporate software development with a focus on best practices, this course has filled in the few blanks that I had left of how I wanted to approach my game development. I would highly recommend this course to anyone who wishes to added valuable skills to their decision making toolset. On a more personal note I feel this course is the catalyst that is going to help me stop overthinking my architecture and actually submit my games for the game jams that I start but never finish. To put it in terms of the 80/20 principle I think I've put in the 80% learning to get the 20% of the results and this course has given me that 20% of knowledge with the 80% yield. To speak to some of the negative comments I've seen, I too have some more topics I would like to see covered in this course and Charles does give an invite in the beginning of the course to approach him with feedback. Instead of immediately downvoting the course why not reach out to Charles and have a conversation first.

By Cécile Chevrier on 7/23/2022

I'm a self-taught dev, started about a year and a half ago. I took this course because the Infaillible Code youtube channel has been a great help, as a way to support them. I was expecting the same kind of content as on their channel, with more structure. That's exactly what I got. I didn't learn all that much, since I'm not the main target audience, but it helped me consolidate some notions that I had seen a few times vaguely and put together a more complete understanding. The part on Unit Tests was especially clear, well explained, well illustrated, concise and interesting in my opinion. Thanks for your work and dedication in making learning content available !

By Tiago Loureiro on 7/13/2022

Git setup wasn't clear - I was expecting to clone from a repo rather than downloading and having it local. Had to look for comments to figure it out.

By Billy heinrich on 7/9/2022

Very good information provided for what it is intended for. I feel like I only get pieces of information from different sources. If there was a way to get all the core concept ideas which most game need that would be priceless. Most games will need. Movement, Design patterns, Event systems, State machine ect…

By Matt Wilson on 7/9/2022

TL;DR; If the assets are interesting to you, it might be worth $30.00. The precision in the language and concepts is what I appreciate about Infallible Code, and it's definitely here too. I had found the Infallible Code channel very helpful, which is why I signed up for this course. The target audience of "for software developers making the switch to game development" is a little light on the youtube channel, but Charles clearly knows what he is talking about and is always precise. I was hoping this course would be a deeper dive into working on a large project. I learned a few things. A good default layout for the assets folder, about how many files to an assembly seem reasonable, a good way to join different assemblies together that I'm going to implement. Aside from that, most of this is available on the youtube channel, or is pretty trivial if you read the docs (hem hem testing section), though it is probably nice for those new to these concepts to see multiple iterations in the same project without jumping contexts. Another note that really should be fixed ASAP, the git project isn't set up properly, it's dirty as soon as you open it. If you try to switch branches there are some files that are checked in that conflict - my guess is the lightmaps should be .gitignored... but maybe not, I was hoping to learn how to set up git in a unity project for bigger projects! The git-lfs doesn't work (probably because it's a private repo) and when you open the project you can't run it. Things that you could add to this course are: 1) How to develop with a team. a) What is the version control workflow, how do you do pull requests, how do multiple people work on the same scene. Are there CI services you recommend? b) API development. How do you expose code for other developers to use. Do you use the internal keyword to hide implementation, or does that conflict with the unity way? 2) Interfaces, Abstract classes, Referencing scripts a) What does a large scale game look like? Are 80% of objects configured in the scene, and 20% are created dynamically? How much drag and drop do you actually do vs GetComponent? What are good patterns to start from? Is there a way to indicate that a behavior works by looking to its parent, or to its children, so you can keep track of the editor object hierarchy matches the employed components. This seems to me like the hardest part of getting started with unity, there's lots of ways to link objects together, and it is not immediately obvious how it's going to scale, or how you should be spending your time. As a software developer - I am aware of all the ways you can get objects in unity from the docs, but I am interested in your opinion as to how to do it, and patterns that are specific to unity that scale well for being able to quickly see and detect errors while spending whatever time is appropriate in the editor. b) Interfaces don't work very well with the editor, even though the unity docs say [SerializeReference] is supposed to work with the editor. Do we abandon interfaces in unity for abstract classes? GetComponent works with interfaces, FindObjectOfType does not. Is there something going with interfaces in unity that's worth exploring? 3) Customizing the editor and gizmos. The whole point of unity is building tools to allow you to be more effective. Advanced customization, like popping up windows, selecting things in the scene, etc. 4) Testing - What sorts of things do you actually test in a real game? The acceptance test shown in the demo is actually a unit test in an acceptance environment. The object to test "fade out" is fabricated in the test. a) For instance if you want to test the character walking outside the interact-able radius, trying to interact, walking into the interact-able radius, pressing interact, and then the item is collected and the ball fades out, how do you do that? b) How do you use your actual scene with the behaviors associated, so if someone accidentally deletes a component or messes up a reference, a test fails, i.e. maybe someone moves a trigger onto a different background layer that is actually in the ignored list for the physics detection in that context. Anyway - Gave you 3 stars because I do think you are creating useful resources that are different than other creators on youtube, but I haven't looked at other paid courses. [Edit] If you are looking for code examples - stick with the Demo branch from the git repo. Not many tests as far as I can see, but nice to see something that's a bit larger project with lots of different components.

Showing all 10 reviews on CourseDuck

Read all 59 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 80 / 100