Introduction to Unity with C#

Game development has never been this accessible, fun and easy! Course instructor Steven Nikolic will take you step-by-step through core C#, Object Oriented, and Unity concepts in a natural, sequenced order. | taught by Steven Nikolic
Watch Intro Video

Course description

Are you curious about learning how to program video games, but assumed it was too difficult? Or, perhaps you’re interested in learning Object Oriented Programming in a fun and intuitive way? In either case - and whether or not you’re an absolute beginner - there’s a good chance this course is for you!

Learning programming by creating video games is not only possible, in many ways it’s ideal. Seeing your abstract code transform into a living world helps solidify programming concepts while providing a fun and interactive way of developing your problem-solving skills.

Programming games hasn’t always been this accessible. But now - with Unity, Visual Studio and C# - absolute beginners can create and publish any kind of game on virtually any platform and at no cost.

To reach that goal, the course instructor Steven Nikolic will take you step-by-step through core C#, Object Oriented, and Unity concepts in a natural, sequenced order. You will be applying the concepts you learn along the way by building a fun 2D action game. And by the end of the course, you will use everything you’ve learned to dive deeper into the Unity Engine and create a more sophisticated physics-based 2D platformer. You can then take the knowledge you’ve gained to publish games on any platform: Mobile, Console, or PC.

This comprehensive 21-hour course is structured in the following stages:

  • Part 1: Intro to Unity, Prototyping and Setup (Lessons 1-8)
  • Part 2: Core C# Principles for Unity (Lessons 9-26)
  • Part 3: C# and Unity, Constructing an Arena Action Game (Lessons 27-52)
  • Part 4: Physic Engine, Constructing a Sidescrolling Platformer Game (Lessons 53-65)

Course Curriculum

FAQ and Lesson Synopsis
Frequently Asked Questions FREE
Lesson Synopsis FREE
Hide Content
Intro to Unity, Prototyping and Setup
Code for Intro to Unity Chapter
Intro to Unity Chapter Q & A
CS-Unity_001 - Who this Course is For, Message to Beginners FREE
CS-Unity_002 - Course Outline FREE
CS-Unity_003 - Installation and Getting Started FREE
CS-Unity_004 - Starting the First Project FREE
CS-Unity_005 - Prototype Workflow FREE
CS-Unity_006 - Basic Code Review
CS-Unity_007 - Understanding the Game Loop
CS-Unity_008 - Prototyping Continued
Hide Content
Core C# Principles
Code for C# Principles Chapter
Core C# Principles Chapter Q & A
CS-Unity_009 - C# Fundamentals and Hello World
CS-Unity_010 - Variables and Operations
CS-Unity_011 - Variables and Operations Continued, Math Operations
CS-Unity_012 - Floats, Bools and Casting
CS-Unity_013 - If() Conditional Statements
CS-Unity_014 - If() Conditional Statements Continued
CS-Unity_015 - Complex Evaluations and State Keeping
CS-Unity_016 - Code Structure vs Style and Errors
CS-Unity_017 - Variable Scope
CS-Unity_018 - Object Oriented Programming (OOP) Intro
CS-Unity_019 - Continuing OOP, Access Modifiers, Instantiation
CS-Unity_020 - Object Containment and Method Returns
CS-Unity_021 - “Has-A” Object Containment
CS-Unity_022 - “Is-A” Inheritance Containment
CS-Unity_023 - Static Fields and Methods
CS-Unity_024 - Method Inputs and Return Values
CS-Unity_025 - Reference Types vs Value Types
CS-Unity_026 - Intro to Polymorphism
Hide Content
C# and Unity, Arena Action Game
Code for C# and Unity Chapter
C# and Unity Chapter Q & A
CS-Unity_027 - Navigating the Unity API
CS-Unity_028 - Applying What You've Learned and Refactoring
CS-Unity_029 - Constructors, Local Variables in the Update() Method
CS-Unity_030 - Creating Collectible Items and PowerUps
CS-Unity_031 - Spawning and Managing Prefab PowerUps
CS-Unity_032 - Implementing PowerUp State Logic
CS-Unity_033 - Displaying Text via OnGUI, Method Overloading
CS-Unity_034 - Referencing Instantiated GameObjects and Parenting
CS-Unity_035 - Determining Changes with Lerp Methods
CS-Unity_036 - Creating Pseudo Animations in Code
CS-Unity_037 - Understanding Generic Classes and Methods
CS-Unity_038 - Animations Using SpriteSheets and Animator
CS-Unity_039 - Working with Arrays and Loops
CS-Unity_040 - Debugging Unity Projects with Visual Studio
CS-Unity_041 - Camera Movement and LateUpdate()
CS-Unity_042 - Playing Audio Clips
CS-Unity_043 - Routing Audio, Mixers and Effects
CS-Unity_044 - Add Scoring Mechanics and Enhancements
CS-Unity_045 - Scene Loading and GameOver Manager
CS-Unity_046 - Understanding Properties
CS-Unity_047 - Controller Mapping and Input Manager
CS-Unity_048 - Understanding Enums
CS-Unity_049 - Dealing with Null References
CS-Unity_050 - Handling Variable Framerates with Time.deltaTime
CS-Unity_051 - Preparing the Project for Final Build
CS-Unity_052 - Final Build and Project Settings
Hide Content
Physics Engine, 2D Platformer Game
Code for Physics Engine Chapter
Physics Engine Chapter Q & A
CS-Unity_053 - Introduction to the Unity Physics Engine
CS-Unity_054 - FixedUpdate vs Update
CS-Unity_055 - Movement using Physics, Singletons and Enums for Managing States
CS-Unity_056 - Attack Script and Collision Events with OnCollisionEnter2D()
CS-Unity_057 - Projectiles and Stomping Attack
CS-Unity_058 - Parallax Background and Scrolling Camera
CS-Unity_059 - Infinitely Tiling Background Sprites
CS-Unity_060 - OOP Enemy Classes
CS-Unity_061 - OOP Enemy Classes Continued
CS-Unity_062 - Trigger Colliders and Dealing Damage
CS-Unity_063 - Multi-Dimensional Arrays, Procedural Platforms, Materials and Effectors
CS-Unity_064 - Finishing Touches
CS-Unity_065 - Series Wrap
Hide Content
Steven Nikolic
Steven Nikolic
Unity Instructor