Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Unity For Software Developers
Rating: 4.0 out of 5(59 ratings)
293 students

Unity For Software Developers

Apply your programming knowledge to game development and start making 3D games in the Unity game engine using C#
Last updated 7/2022
English

What you'll 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.

Course content

5 sections23 lectures2h 46m total length
  • Introduction3:31

    Introduction

    • Unity is one of the leading video game engines on the market

      • It’s been used to make tons of indie hits like Cuphead, Hollow Knight, and Kerbal Space Program

      • It’s also been used to create AAA titles like Hearthstone and Pokemon GO

    • Best of all, Unity is free to use and extremely easy to get started with

      • You can download it right now and have a working prototype in a couple of hours

    • That’s why so many professional software developers are trying to break into game development

    • C# — the programming language used in Unity — is easy to learn and you only need rudimentary development skills to

    • With a language as straightforward as C# and the programming skills needed to make development work your day job, it just makes to grab of a copy of Unity and make the game of your dreams

    • So why does it seem so hard to actually finish a game?

    • Unity — and game development, for that matter — has a unique learning curve

      • If you follow any of the multitude of tutorials on YouTube, you’ll be able to recreate some pretty impressive mechanics with very little effort

      • And if you combine enough of these mechanics into one project, you can put together something that feels pretty close to a finished game

      • But great games aren’t made from a few working mechanics

      • The elements that’ll make your game something worth playing will typically be born in the mid to late stages of your project

      • That’s because a large part of developing fun games is in the iteration of content and features based on the feedback from player testing

      • But pushing through the beginning phase of a project into the phases where iteration can take place can be extremely challenging

      • And once you’re there, it can be even harder to keep your project in a working state long enough to release it

    • That’s because, at the core, games are just like any other piece of software

      • All software projects start with a set of requirements that evolve and grow over time

      • This fact is what makes way for the one thing that plagues every software project from the start: Entropy — that gradual decline into disorder that kills many projects in their tracks (including my own)

    • The good news is that it doesn’t have to be that way

      • With a solid understanding of Unity’s scripting layer and the basics of how to organize your source code, you can create projects that are designed to be finished

      • And that’s exactly what I’m going to show you

    • In this course we’ll be creating a viking survival game

      • As we work through each feature and mechanic, I’ll give you the complete rundown on scripting in Unity so you can write code and implement game mechanics more effectively

      • Then I’m gonna show you how to organize your project so it’s easy to maintain and can scale to meet an ever changing set of requirements

      • Finally we’ll write some automated tests so we can be sure that our project always works and that we aren’t shipping a game full of bugs

    • The skills you learn from this course will help you become a more well-rounded game developer and give you the tools and confidence you need to finish your games

  • Welcome to the Course5:41

    Meet Your Instructors

    • Welcome to the course and thank you for choosing us to invest in your game development career or hobby

    • My name is Charles and I’ll be your course instructor

      • I’ve been a professional software developer for over 10 years and a freelance/hobbyist game developer for about 6

      • I’m also the host of Infallible Code, a YouTube channel that I created to help other software developers translate their programming skills into making games

    • And my name is Matt Schell

      • I was head of online evangelism at Unity Technologies, the maker of the Unity game engine and worked there for six years on creating tutorial content. I've spent a lot of time thinking about how to teach people Unity well, and am bringing that expertise to bear on this course. I'll be working behind the scenes with Charles to make sure that this course is as good as it can be.

    What to Expect From This Course

    • Over the course of the next 4 chapters we’ll be creating a Viking survival game

    • We’ll start by creating a brand new project from scratch

    • Then we’ll implement some basic mechanics like interacting with the environment and adding items to our player’s inventory

    • Once we’ve established some gameplay, we’ll reorganize our source code so it’s resilient to change and can scale with new requirements

    • Finally, once our project is solid we’ll write some automated tests to keep it that way

    • At the end of it, you’ll have a working survival game that you can play and share with your family/friends

    • You’ll also have a stronger understanding of how to approach game development in Unity and the tools and confidence you need to finish your games

    How to Use This Course

    • First and foremost, we believe that hands on learning is crucial to owning the knowledge that we want to teach you

    • Therefore the finished project is available for download

      • You can grab it right now and play around with it

    • On top of the finished project, each section will also have a downloadable project file associated with it that places you exactly where you need to be to follow along with that section

      • These are super useful if you accidentally introduce a bug and need to get back on track

    • Alternatively, the finished project also has a local git repository

      • Each commit is associated with a section of the course

      • You can follow along by checking out each section

      • Or you can create branches and experiment with your own implementations and mechanics

  • Setup Your Environment4:46
    • Before we dive into the course content, we’ll need to set up our environment for Unity development.

    • That’ll include installing Unity Hub to manage our Unity installations, installing the version of Unity that we’ll be using throughout the course, and installing and configuring Visual Studio so we can write, debug, and unit test our code.

      • Head over to unity.com/download to grab a fresh copy of Unity Hub.

      • When you get there click on the “Download for Windows” button, or “Download other version” if you’re on another platform, to download the latest version.

      • Once it’s downloaded, run the installer, follow the prompts, and open Unity Hub on your Desktop.


    • Unity Hub is your launchpad into working with Unity.

      • The “Projects” tab keeps a running list of all of the active projects on your computer.

      • You can easily search for a specific project by name, and change the editor version or platform without having to open up Unity.

      • You can also open the project in your file explorer and add command line arguments

    • Like the “Projects” tab, the “Installs” tab keeps a running list of all the active Unity installs on your computer.

      • If there aren’t any listed, you can manually locate them on your hard drive or install an official release right from within the application.

    • For this course we’ll be using the latest version of 2020 LTS.

      • If you don’t have the latest version of 2020 LTS, go ahead and install it now.

      • For guaranteed compatibility with the course make sure to use the exact same version of the Unity editor we used which is Unity LTS 2020.3.22f1 Later versions should also work, but there may be differences or incompatibilities.

      • You can download this version from: https://unity3d.com/de/get-unity/download/archive

    • Next let’s install Visual Studio.

      • In many cases, you may be able to skip this step since Unity will install it automatically or you may already have it installed.

      • If not, go to visualstudio.microsoft.com and pick up a copy of the latest version.

      • The installer generally takes a minute or so to download the necessary files, but once it’s done you’ll be presented with a menu to select which features you’d like to include in your installation.

      • Scroll down to the Gaming section and tick the box titled “Game development with Unity”.

      • This will include a plugin that’ll allow Visual Studio to better integrate with Unity, which we’ll see as we move through this course.

      • Go ahead and click on “Install” and wait for it to finish.

    • If you already had Visual Studio installed but aren’t sure if you included the “Game development with Unity” package, there’s a way to install the integration after the fact.

      • First open up Visual Studio and select “Continue without code” on the launchpad screen.

      • Then click “Tools” in the top navbar and select “Get Tools and Features”.

      • This will bring up the menu to select which features you’d like to include in your installation.

      • Scroll down to make sure that the integration has been selected and install it if it isn’t.


  • The Norseman Demo4:19
    • In this section we’ll be creating the base project that we’ll be working on for the rest of the course, the one that’ll eventually become the Norseman demo.

    • We’ll talk a little bit about how to follow along with this course using the downloadable project files and the local git repository that’s packaged with them.


    • Start by clicking the “New Project” button at the top right corner of the application.

      • Here we have a number of templates to choose from.

      • These templates are starting points for various types of projects.

      • When you choose one, your project will be created with a specific set of packages and will sometimes include custom settings, configuration files, and additional resources.

      • For our Noreseman demo we’ll go ahead and select the 3D core template.

    • With our template selected, let’s be sure that the Editor version is set to the latest version of 2020 LTS, and then let’s name our project.

      • Click the “Create Project” button and wait for the project to open up in Unity.

      • We need to make sure that Unity is using Visual Studio as it’s default script editor.

      • Click on “Edit” in the top navigation bar and select “Preferences” to open up the editor preferences window.

      • Then click on “External Tools” in the sidebar and make sure that the “External Script Editor” dropdown is set to the correct version of Visual Studio.

      • If it isn’t, click on it and either select Visual Studio or click “Browse” to locate it manually on your hard drive.


    • Next let’s set up the file structure for our project.

      • Many developers simply begin creating folders for each category of file right in the root of their Asset folder, which we can see here in the project window.

      • By default Unity places a Scenes folder in the root with the sample scene that we currently have open in the editor.

      • The problem with this approach is that many assets that you download from the asset store will also place their files in this root directory.

      • I tend to place all of my files in a completely separate folder called “_Project”.

      • Create a folder called "_Project"

      • And drag the Scenes folder into our new project root.


    • And while I encourage you to continue to build on this exact project, there will be a few times throughout the course where you’ll need to access our downloadable project files.

      • That’s because we are playing the role of the developer.

      • When that happens, you’ll need to download the correct project folder or check out the corresponding commit in order to access those changes.

      • And here’s how you do it.

      • At the beginning of each section, I’ll provide access to downloadable project files that reflect the state of the project for that given section.

      • That way you can easily follow along without having to worry about your project keeping up.

      • If you encounter bugs or fall behind on the hands-on portion of the course work, you’ll always be able to download a snapshot of the project at whichever section you’d like.

      • In addition to that, we have the entire project as a local git repository.

      • If you’re familiar with git, you can use the command line or the repository browser of your choice to review all of the commits to see how they line up with each section, and you can pull the one that corresponds to the section you’re currently on.

  • The Demo Git Repository3:11

Requirements

  • A solid understanding of programming basics is assumed and required. This is not a course to learn fundamental programming concepts.
  • A computer which meets the basic system requirements for running the Unity Editor software
  • Basic familiarity with writing and editing code in an IDE like Visual Studio
  • Basic familiarity with Git and version control concepts

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.

Who this course is for:

  • This is a course for developers who understand programming basics and want to learn how to apply them to developing game using Unity.