
Develop c-sharp programming in Unity through project-based learning. Build a console choose-your-own-adventure, a Pokémon-style battle, a labyrinth obstacle course, and a shoot em up, plus a Flappy Bird clone.
Install Visual Studio 2022 community edition with .NET desktop development and game development with Unity, then install Unity Hub and configure Visual Studio as the external editor for C# scripting.
Create a Unity game by importing assets, configuring pixels per unit and filter mode, building a level with colliders and a Rigidbody2D, then test in play mode.
Explore visual scripting fundamentals using Code.org within Unity context, arranging blocks to move a character, learning sequential execution, loops, and if statements as a bridge to real code.
Examine and fix common variable mistakes in Unity C# scripting by correcting quotes for strings, replacing integers with strings, using camel case, avoiding duplicates, removing spaces, and validating proper identifiers.
Explore basic operators in C# with addition, subtraction, multiplication, and division in Visual Studio. Learn how integer division truncates decimals and why using float yields decimals.
Learn how strings concatenate with other strings and numbers, avoid the 32 pitfall by converting strings to integers for math, and use backslash n to create new lines.
Use comments and regions to structure a turn-based combat script and improve readability, and learn Visual Studio shortcuts for commenting and collapsing code blocks.
Master essential variable techniques in Unity C# by downloading and opening the provided Visual Studio projects, combining strings, applying compound assignments, and using braces and regions to structure exercises.
Learn type conversion and explicit casting in c# to convert console input strings to integers, understand implicit vs explicit conversion, and use Convert.ToInt32 to handle 32-bit int arithmetic.
Explore random number generation in C#, using a random number generator to produce integers and floats, with inclusive minimums and exclusive maximums in ranges like 10–15 and 0–10.
Convert between strings and integers with Convert.ToInt32 and ToString, and practice simple arithmetic. Generate a random damage between ten and fifteen and apply it to HP, testing with comments.
Solve the first Pokémon fight project by building a console app that lets players name two Pokémon, tracks hp, computes randomized damage, and runs turn-based attacks.
Explore how if statements drive interactivity in Unity C# games, from jumping with space to checking enemy HP and following the player through lava.
Master if statements in C# by evaluating input against left or right with equals operator, using booleans to drive actions, for interactive gameplay with one-line and block forms.
Master conditional logic in Unity C# by learning equals and not equals operators, assignment versus comparison distinction, and relational operators like <, >, <=, >= using the cheat sheet.
Demonstrates else if chains in Unity C# scripting to create prioritized condition checks. Using hp examples, it shows how ordering prevents multiple outcomes and how else handles all other cases.
Learn to combine conditions in Unity C# if statements using and/or with brackets to control precedence. The example checks age 18 or older and (population under 100 or female).
Explore practical C# if and else if logic in a Unity scripting context, building a choose-your-own-adventure, robust input handling, and a lever puzzle using and or operators and braces.
Explore how while loops drive a dice-rolling game that adds to the score until a one is rolled, illustrating safe exit from loops.
Learn how break stops a loop when a condition is met and how continue skips the current iteration, with practical inventory and enemy examples in Unity C#.
Discover how endless loops work in Unity C# using while true and break to exit, and why invalid input loops keep gameplay responsive.
Discover how for loops replace while loops for repeating code a set number of times, using initialization, condition, and update, and explore counting up or down with break and continue.
Extend the Pokémon fight project to run until one Pokémon dies, with player choice of attacks including a multi strike implemented via a for loop.
Explore nested loops to build a tile-based map on x and y axes, move a player on the grid with keyboard input, and redraw with console.clear in a while loop.
Learn about do-while loops in Unity C#, comparing them to while loops, noting that a do-while runs once even when the condition is false and their rare usage.
Explore arrays as the simplest Unity C# collection, storing multiple enemy hit points in an indexed list and iterating with length. Compare fixed-size arrays to lists and avoid indexing errors.
Compare lists with arrays in Unity C# by showing how lists grow automatically, support insert, sort, and remove operations with simple one-line methods, unlike fixed-size arrays.
Explore dictionaries in Unity c sharp by learning key-value pairs, string keys and int values, retrieving data with the key, and practical games use like saving player hp.
Explore arrays, including one and two dimensional layouts, and learn list methods, dictionary key-value access, and the for each loop to iterate over collections in Unity C# programming.
Explore how functions and methods simplify code by wrapping steps into named commands, improving readability and structure with examples like drawing squares and picking up veggies.
Practice creating and naming functions in C# with a grid player and input handlers. Then build a random weather reporter, highlighting Pascal casing for functions and camelCase for variables.
Explore how parameters power flexible functions in Unity and C#, with Visual Studio examples, from counting with variables to spawning objects via instantiate and handling collisions in Unity scripts.
Learn how optional parameters in C# work with a count function, use a default minimum, and call by max count or a custom min, noting required parameters order.
Master return values by returning data from functions to the main program, using dice roll examples, and distinguish them from parameters and local scope in Unity C# scripting.
Explore return values in Unity using C# through practical exercises: multiply by two, square a float, range checks, a number guessing game, and array sums and finding the highest value.
Celebrate your achievement and prepare to tackle the basics of Unity, where you’ll transition from the basic toolkit to coding and quickly feel at home in Unity.
Discover optional utilities and shortcuts to boost efficiency when using Unity and Visual Studio. Watch the accompanying videos for practical tips, though they are not mandatory.
Rename variables efficiently with Visual Studio's automated feature, updating all usages across the codebase and saving time when you miss a naming convention.
Learn how to autoindent a whole file and quickly comment or uncomment code using keyboard shortcuts, improving readability and editing speed in Unity C# scripting.
Learn to debug console applications efficiently using breakpoints in Visual Studio, mastering step over and step into, inspecting variables, and using the call stack to trace errors such as out-of-bounds access.
Discover how to use Unity and C# documentation to understand commands, read parameter descriptions such as original, position, and orientation, and leverage the scripting API for practical instantiation and examples.
Explore Unity from editor basics and collisions to basic scripting, then intermediate features like tile maps and UI, finishing with advanced vectors and object rotation.
Understand how a game engine powers game development, using Unity and C# to create games, spawn players and enemies, and access built-in functionality.
Explore how scenes organize levels and menus in Unity, create game objects, and attach multiple components—renderers, animations, physics 2D with rigidbody2D, and scripts.
Import images into a Unity project, place them in an art folder, and slice sprites to create multiple images; use the sprite editor to layer background, characters, and props.
The sprites were created by Stephen Challener (Redshrike) and Zi Ye, hosted by OpenGameArt.org
You can download them here: https://opengameart.org/content/four-characters-my-lpc-entries
Set up collision layers and a collision matrix in Unity 2D to control which objects collide, enabling yellow players to pass through walls while red players are blocked.
Explore the main camera settings in Unity, including background color and size. Create a split-screen with two cameras, half-screen viewports, and an x-axis offset to render left and right halves.
Organize your Unity projects by structuring scene hierarchy with a level container, zeroing pivots, and using meaningful names; define a scalable folder layout for art, scripts, and sounds.
Start programming professional code for your Games
If you want to create your first Games the Unity - Engine and C# are the right tools for the job. The Unity - Engine is used by many successful Indie and Triple-A Titles and this course is the best way to get a fundamental understanding of Unity and the C# programming language.
Create Games the way you imagine them
Most Hobby-Gamedevelopers struggle with the Programming-Aspect their games and thus are very limited in what mechanics they can implement.
My goal is to unleash your creative freedom by giving you the tools you need to code the games you want to code with Unity and C#.
By the end of this course you will have programmed at least a Console-Game, an Obstacle-Course and a Shoot em up.
I am a devout follower of a practical approach to programming. So this course will be primarily project-based. You won't just learn dry theory and forget everything within a matter of days but instead apply the learned concepts with practical exercises and projects within the Unity - Engine and C#.
What makes me qualified to teach you?
My name is Andreas Metz and I have a Master's Degree in Science for educating Computer Science & Psychology. I have been teaching Game-Programming with Unity and C# for more than 10 years now and as a result I have plenty of experience in what works and what doesn't when it comes to learning how to code.
My promise to You
This course will be rather demanding. Programming is no easy topic but if you stick to it and do the exercises and projects yourself you will aquire an excellent understanding of the Unity Game-Engine and have the skills to implement your own 2D-Games.
What is this Unity - C# Course all about?
In this Course you'll not only learn the Essentials of C# and Unity but also how to code with the mindset of a professional Game-Programmer.
This course will cover everything you need to know to start developing your own games with Unity including:
Basics of C# and Console Applications
Variables
Creating Console-Applications
If-Statements
Loops
Collections
Functions / Methods
Workflows in Visual Sudio
Unity
Unity - Editor - Basics
Setting up Unity Projects
Using Physics
Basic Scripting in Unity
Differences between classical C# development and Unity
Moving Objects
Creating/Destroying Objects
Handle Collisions
Audio
Fire Projectiles
Export Projects
Multiple Levels
Timers & Cooldowns
User Interface (Text, Buttons, HP-Bars...)
Vector-Math for more complex movement
Rotating Objects
Common Pitfalls in Unity
Professional Workflows for Unity - Programming
Go ahead and click the enroll button, and I'll see you in lesson 1!
Cheers,
Andreas