
Learn to build games with Unity, master C#, and apply physics, 3D assets, animations, particle systems, and procedural maps while creating a Fruit Ninja clone and other rich experiences.
Work through this course from start to finish, use the documentation, and engage in discussions and polls to influence future Unity game features while mastering the core concepts.
Explore the course structure starting with fundamentals and the Unity user interface, then learn physics and player movement, followed by C# basics and guided, step-by-step game builds.
Explore the Unity 3D interface by navigating the toolbar, hierarchy, scene and game views, inspector, and project window, and learn how transform components, assets, and the console support game development.
Learn how to customize the Unity editor layout, switch between layouts like default and two by three, arrange scene, game, hierarchy, and inspector, and save or delete custom layouts.
Master the basics of moving a player in a 3D scene using user input and a rigid body, with a plane ground, colored materials, and a simple movement script.
Explore physics basics in Unity 3D by examining rigid bodies, colliders, triggers, and mass, drag, gravity, angular drag, kinematic mode, and constraints that shape interactions.
Learn to keep changes safe by using play mode in Unity, recognize when changes won't affect the scene, and configure a play mode tint in preferences for clear feedback.
Explore how a rigidbody in Unity behaves with mass, drag and gravity, controls movement with force, and uses collision detection modes and constraints to freeze position or rotation.
Explore collider types in Unity, including sphere, capsule, box. Include mesh colliders, adjust radius and center, and add a rigid body and physics material to control friction and bounciness.
Learn to use colliders as triggers in Unity, implement on trigger enter logic, and destroy or deactivate objects with rigidbodies to create a domino game.
Organize your Unity project with folders for scripts, materials, and prefabs, and learn to create and reuse prefabs to preserve game objects across scenes, while saving scenes to prevent loss.
Discover how Unity components add functionality, looks, and physics to game objects, from movement to shooting and effects. Copy, remove, and apply components to prefabs and instances to manage behavior.
Keep a clean unity hierarchy by creating folders to group related objects, such as bullets or dominos, and placing instances inside those folders for quick access and organization.
Discover why C# is the preferred language for Unity game development, with its object-oriented design, strong support, and the ability to add behaviors to game objects through scripts.
Create a new behavior script that inherits from MonoBehaviour to learn Unity class structure, using start for initialization and update for per-frame actions with console prints.
Explore int, float, and double data types by creating health and hunger variables in Unity. Learn initialization, public access, float literals with f, and inspector overrides.
Master bool, string, and char data types in C# for Unity by declaring variables like isAlive and playerName, and using quotes and concatenation in the debug log.
Create and use your own methods in Unity and C# to perform calculations and manage game state. Explore parameters, return values, void methods, and access modifiers like public or private.
Explore arithmetic operations in C# with Unity, including add, subtract, multiply, divide, and modulo. Learn how int and double data types affect results and use compound assignments and increment operations.
Learn to use logical and comparison operators in C# to compare values, test conditions with if else, and apply negation and or, guiding actions like movement or death animations.
Explore if statements and else if constructs in C# by building age-based logic for driving and drinking, using nested conditions, comparison operators, and the double equals sign.
Explore arrays in C# Unity: create an int array of prime numbers, initialize with values, access by zero-based index, print and override elements, and note arrays also store strings.
Master the for loop in C# by learning initialization, condition, and increment, see it run from 0 to 2, and apply it to processing game objects like enemies by id.
Explore the while loop as a pretest loop, mirroring a for loop with a counter variable, condition check, and increment to avoid infinite loops; understand initialization, comparison, and termination.
Explore the do while loop, a post-test construct that runs before checking the condition, unlike the pretest while loop, with k values 0 and 15 in Unity.
Explore foreach loops in C# with arrays and lists, iterating values like prime numbers, using break and continue to control flow, and perform conditional actions in your Unity game code.
explore object oriented programming by creating a human class with a constructor that sets attributes such as age, name, and job, and expose public access and methods like work.
Explore scope in C# Unity by distinguishing global and local variables, accessing global using this dot notation, and avoiding name hiding in a class.
Learn to use Unity's random and math utilities, generating random floats with the Random class and its range method, and applying Mathf and Math for common math tasks.
Build a Pong clone with paddles, a ball, scoring, and increasing speed across scenes. Learn physics for collisions, bounce with physics materials, and implement main menu and game over UI.
Create a text UI element on a Unity canvas, learn render modes like screen space overlay and world space, and customize font, color, alignment, anchors, and overflow.
Learn to access and update a UI text in Unity via code. Create a game manager and a text behavior script to increment a number with space and display it.
Learn to add a button to the canvas, customize its text and image, and wire an on click event to update a score display in Unity across scenes.
Create and switch between scenes in Unity by adding Level 1, wiring a button to load another scene using the scene manager, and updating build settings.
Learn how to add and control sounds in Unity by importing royalty-free audio, attaching an audio source, and triggering playback via code and space key.
Create a Pong game in Unity with a ball, paddles, walls, and a scoring UI. Implement velocity-based ball movement, box colliders, simple AI, sounds, and game over and replay flow.
Create a Unity 2D main menu for a pong clone. Set a white background, add a canvas with a pong title and play button, and save main menu scene.
Learn to switch scenes and navigate with a play button by creating a dedicated script and using the scene manager to load the game scene.
Create and configure the game scene in Unity by adding a field, walls, player records, the ball, and the middle wall; set up UI text for players and scores.
Transform the ball into a 2D physics object by adding a 2D rigidbody and a physics material, swap 3D colliders for 2D ones, and enable bouncy, left-to-right motion.
Create a Unity ball movement script that drives left-right motion with a normalized direction and speed from movement speed plus extra speed per hit, capped by a max, via Rigidbody2D.
Develop two Unity scripts to move paddles using fixed update and vertical axes, then set rigidbody2D velocity, disable gravity, and freeze rotation for pong-like gameplay.
Implement a collision controller to bounce the ball off paddles and top and bottom walls, adjust direction and speed, and update scores on left or right wall hits.
Implement a two-player scoring system in Unity with a score controller, update UI texts for both players, and award points on collisions until a win condition.
Reset the ball velocity to zero and position it on the left or right based on the current player's turn using the ball movement, collision, and score controllers.
Duplicate the main menu to create a game over screen, update the UI to game over, add a replay button, and load the game over scene with Unity scene management.
Add sound effects to your Unity game by creating a sound controller with wall and record audio sources, loading assets from a sounds folder, and triggering sounds on collisions.
Implement a basic ai that follows a target ball in Unity using a movement speed, adjusting its y position and velocity with a Rigidbody.
Explore building an endless runner in unity, using store 3d characters, implementing player movement, collectibles and score, particle effects, a 3d world, procedural extension, sound, and scene resets.
Instantiate multiple objects from a prefab using a for loop and vector3 positions, control rotation, and trigger new instantiations with the space key, tracking them with a counter.
Use invoke repeating to spawn cubes at intervals after a delay, and learn to cancel it; also use invoke for a single delayed call.
Learn to save data with Unity's PlayerPrefs using GetInt and SetInt for high scores and names. Increment a value with space input, store the max, and verify via logs.
Learn to use recast for object detection in Unity, checking for hits in front, behind, or below, and apply it to cube and plane scenes with raycast and hit detection.
build an endless runner with procedural road generation in Unity, including crystals, particle effects, and a player controlled with idle, run, and jump animations.
Set up a 3D zigzag clone by creating a new project and importing assets. Build road segments, place an animated 3D character, and enable left-right movement to collect crystals.
Set the perspective by switching the camera to orthographic and adjusting its position. Remove the existing movement and animation components to implement our own player movement.
Build simple left-right character movement in Unity using a rigidbody and fixed update to move forward, and switch direction with space to rotate between 0 and 45 degrees or -45.
Create a follow cam that moves main camera with the player, using Awake to set the offset and LateUpdate to apply it each frame by assigning the target in Unity.
Create a character prefab and an animation controller with run and falling states, using a is falling trigger to switch from run to falling.
Learn to control game states in Unity with a game manager, a startGame method, and a gameStarted flag to trigger idle, run, and fall animations on key input.
learn to restart the game by detecting when the player's y position drops below minus two and reloading the main scene with the scene manager.
Import crystal assets and create a crystal prefab with a trigger collider to increase the score on collision, then display and update the score in the top-left UI text.
Add a high score feature by creating a high score text, saving the score under the high score key, and updating the display with the best score.
Create and customize a crystal collection particle effect in Unity by adding a particle system, configuring color over lifetime, bursts, shape, and instantiating the effect on collision.
Create a looping background music in unity by importing a free track and attaching it to a background loop object with an audio source, preserving it across scenes.
Learn to create an infinite world procedurally by spawning road parts with a road prefab, using an offset and the last position, and activating crystals every fifth part.
Learn Blender basics to create your own 3-D assets in minutes, and build game-ready models like a windmill and a house as you start the Blender intro.
Explore Blender, a free, user-friendly tool that enables you to create 3d art and animations for your games, while learning mesh, textures, and inspiration from DeviantArt and Pinterest.
Visit blender.org to download blender for your operating system, run the downloaded .g file to install, then on Mac drag the app to the Applications folder and launch from Launchpad.
Explore blender's user interface, including selecting with right-click, duplicating with shift+d, deleting with x, navigating views with mouse and numpad, and editing vertices, edges, and faces using the gizmo.
Create objects in Blender, unwrap UVs, and apply red and blue materials, then export as an FBX to import into Unity with the mesh and materials intact.
Learn box modeling in Blender to build a low-poly house with a door, window, and roof, using cuts and extruding.
Build a windmill model by shaping a cylinder into a tower with a roof and blades, using orthographic view and extrusion, with color materials for tower, roof, blades, and cloth.
Explore how Blender handles animation by rotating a windmill sweep from 0 to 360 degrees, setting keyframes, adjusting interpolation to linear, and preparing the sequence for Unity import.
Import the windmill and its animation into Unity, create an animator controller with a rotation state using the default take, and apply it to the windmill for continuous rotation.
Learn to build a fruit ninja-style android game from scratch in Unity, implementing score, triggers and colliders, 3d assets, bombs that pause, score layers, restart, and monetization.
Build a fruit danger clone with a score, high score, and a game over panel; slice fruits to earn points, avoid bombs, and showcase a blade trail effect when slicing.
Create a fruit ninja clone in Unity by slicing fruits with a swipe, scoring points, and avoiding bombs, using sliced fruit prefabs and 2d explosion physics.
Create a Unity fruit spawner that randomly spawns fruits from multiple points, launches them upward with random force, and destroys them after five seconds.
Create a blade that follows the mouse with a trail, uses a kinematic rigidbody for fast collisions, and slices fruits via on trigger enter while cleaning up objects for performance.
Create a unity UI with score, best score, and timer, and implement a game manager to update scores, spawn fruits and bombs, and pause the game on bomb hit.
Design and activate a game over panel with a restart button, pause the game via time scale, display the score, and destroy game objects with the interactable tag when restarting.
Learn to implement a high score system in Unity using PlayerPrefs, update the high score text, and display it on the game over screen.
Extend the game by integrating watermelon and banana models with proper colliders, rigidbodies, slicing logic, and sliced fruit prefabs, then spawn multiple fruits and test destruction like fruit ninja.
Prepare game for Android by enabling blade collider only when the mouse moves or touches the screen, using last position and velocity with a 0.1 threshold to destroy fruits.
Learn to run a Unity game on an Android phone by installing Android Studio, configuring the Android SDK in Unity, linking your device, and building for Android in landscape.
Improve the looks of our game by setting a dark gray camera background, scaling the canvas to screen size, and refining the game over panel, restart button, and score text.
Learn how to monetize a Unity game by integrating Unity Ads, initializing with the game ID, enabling test mode, and triggering rewarded ads during gameplay.
Register a test device and enter your ad id from google settings to link it to your project, view earnings, and verify test ads won’t generate revenue.
Create and import custom sounds for your Unity game using Audacity, export wave files, then set up an audio source and play slice sounds.
Learn to build a dynamic minesweeper game in Unity with scalable UI that grows with the map size. Implement multiple difficulty levels, and use timers with object oriented programming.
Build a minesweeper game in Unity with a scene, a resizable minefield, and a tile-based grid that reveals empty spaces and bombs while tracking timer, bomb count, and high score.
Build a Unity minesweeper UI, set up a mine field of tiles, and implement a HUD with easy, medium, and hard buttons through scripting.
Learn to create and place a tile in Unity by scripting a tile component, instantiating a prefab from resources, and positioning it in the minefield using x and y.
Develop a configurable Unity minefield by scripting tile generation, setting x and y totals, mine count, and tile positions, linking minefield and tile components.
Learn to dynamically adjust top and bottom UI bars in Unity by resizing to the minefield width and shifting their y positions with bottom bar and top bar scripts.
Learn to implement difficulty levels in a minefield game by creating easy, medium, and hard presets, adjusting field size and mine counts, and wiring buttons to update the game dynamically.
Create a sprite controller in Unity to swap tile sprites by surrounding mines, including empty, mine, rescued, secured, and deadly mine, with collider controls for interactivity.
Learn to implement click mechanics for a minefield game in Unity, including creating mines, revealing tiles, counting surrounding mines, and preventing the first click from hitting a mine.
Implement click mechanics for a mine field game by revealing tiles, computing neighboring mines, updating sprites, and handling right-click to secure tiles while starting the game and tracking win/lose states.
Implement a winning condition by adding a boolean is game 1 that checks unrevealed tiles against mines, and create lose and win methods wired to the click logic for testing.
Edit the game UI by adding a top and bottom bar, a high score display, and a timer, then add reset and exit buttons with proper anchoring and styling.
Create a reset game button script in Unity to switch the top bar image among happy, neutral, and sad faces using public set face methods and assign sprites.
Learn to implement a Unity timer and mines left display using a stopwatch, updating texts, and wiring reset, start, and stop logic.
Implement a multi-difficulty high score system in Unity using PlayerPrefs, including easy, medium, and hard scores. Read and reset high scores at startup and ensure lower times are better.
Finalize the minefield game by debugging the timer, starting it during mine creation, wiring on-click events, and implementing reset high score and quit functionality for a complete Unity gameplay flow.
Learn to build a clone of a fun game, including multiple ammo types, random spawns, and power ups that alter shooting patterns, all in Unity.
Build a space shooter featuring shields, nukes, power-ups, and three enemy types. Expose UI elements, scoring, bullets and lasers, berzerker mode, and spawn borders that govern gameplay and pacing.
Create a basic Unity spaceship with a movement controller that enables forward boost, braking, turning, and left-right flight, using a background, camera setup, and a ship prefab.
Create a bullets prefab and use a two-dimensional rigidbody with a circle collider to shoot from a spawn point, while managing ammo and fire rate with a shooting controller script.
Create a new UI text to display ammo in the top left, adjust font size and brighten color, and update an MO text variable in the shoot method with amount.ToString().
Develop enemy functionality in a Unity project by slicing sprites for three enemy types, implementing a movement script with direction and speed, and turning them into reusable prefabs.
Define four spawn areas top, bottom, left, and right as red quads, and spawn enemies there using an enemies script with spawn position logic.
Finalize the enemy script to spawn enemies randomly using multiple spawn areas, set spawn positions, drive movement with an enemy controller, and regulate max enemies and spawn rate.
randomize enemy creation by assigning scripts to three prefabs (primitive, splitter, shooter) and using a random value with thresholds to spawn enemy types, then fix naming and prepare shooting behavior.
Build god mode by destroying bullets at arena borders. Implement a bullet collision controller using OnTriggerEnter to destroy bullets at inner borders and destroy enemies on collision.
Set up enemy destruction by adding colliders and two controllers, destroy enemies with player bullets or walls, and reward with score and collectibles via the enemy spawn system.
Create a score system by adding a score script and a user interface text, assign points to enemies, and update the displayed score when enemies are destroyed.
Add a hud with shield and ammo images, adjust the canvas and score ui, and organize shields and bombs for future enemies.
Implement a space-triggered nuke mechanic in Unity to destroy all enemies and bullets, update the score, and manage five starting nukes with a bomb controller.
Implement collision detection with a polygon collider 2d in Unity, handle enemy and border collisions, manage shields and player health, and implement a temporary invincibility blink after damage.
Develop a Unity multishot system by setting up five spawn points around the player, shooting bullets toward the center in multiple directions, linked to a power-up controller.
Create a laser power-up in unity: a long laser cube with a trigger collider destroys enemies, activates with the power-up controller, and uses proper parenting to avoid hitting the player.
Implement berzerk mode as a power-up aura that makes the player invincible to enemies within its circle, using a collider, trigger, and a berzerk collision controller similar to the laser.
Explains how to build a Unity collectible system using a collectible class with duration, blinking time, and type, and how to create prefabs for ammo, shield, laser, and bombs.
Spawn and manage random collectibles, including ammo and power-ups like multi-shot, berzerk mode, laser, shield, and bomb, via a collectibles script and collection controller.
Learn to collect upgrades with a collection controller that increases ammo, shields, bombs, and activates power-ups like berzerk, multi-shot, and laser.
Create a main menu with a title, high score label, play and quit buttons, and a menu controller that loads the game scene and saves high scores with PlayerPrefs.
Finalize a space shooter by loading the main menu on player defeat, and save high scores via a score component, while balancing enemies and power-ups.
Design and build a Farmville clone on a 6x6 grid, placing lumberjacks, stonemasons, windmills, and houses to produce resources, upgrade buildings, and save or load your game.
Create a Farmville clone map by building a six-by-six grid of usable fields and unusable grass, with grid elements storing a grid id and occupancy, and adjust the camera view.
Import and place models to build a richer world by adding trees, stones, and environment objects. Rotate and scale assets and duplicate them to create varied scenery.
Design and implement a complete Unity game user interface by building a bottom bar, info and resources panels, and interactive upgrade and tear down buttons using ultimate game ui assets.
Create a simple Unity resources system to track wood, stone, and food, display values on UI text, and manage them with a game manager.
Create a grid-based building system in Unity with building and buildings classes, price tags, and building info to place, upgrade, rotate, and save structures that produce wood, stone, or food.
Learn to implement hover highlighting on a 6x6 grid in Unity using a raycast, update colors for hover, normal, and occupied states, and manage a build script to place buildings.
Select a building (lumberjack, stonemason, windmill, or home); preview follows the mouse, snaps to the grid, can rotate with the middle button, or cancel with right-click.
Position buildings by implementing a place building routine that checks occupancy, adds the new building to build objects, connects it to the grid element, and updates rotation and hover feedback.
Create a buy button script that checks the connected building's price against available resources, deactivating the button when funds are insufficient and updating the on-screen resources text accordingly.
Learn how to upgrade and deconstruct buildings in Unity, wire an info panel with name and level, and use upgrade and destroy buttons with a resource system (wood, stone, food).
Learn to implement a destroy button and upgrade logic in a Unity game, handling the selected building, updating the build objects list, and destroying the building object.
Save the game with a serializable save profile, storing wood, food, stones, and building data, using a binary formatter and file stream in Unity, to enable loading later.
Load the game by locating the save file in the application persistent data path, checking for its existence, and deserialize with a binary formatter to restore resources and buildings.
Rebuild buildings on load by reading each building's id, grid id, level, and rotation from the save file. Instantiate, position on the grid, and apply rotation to restore saved state.
Learn to test a Unity Farmville clone on Android devices by installing the Android SDK, configuring Android Studio, and building for Android to run on a device.
Build and run your Unity game on Android and iOS, configure bundle identifiers and signing in Xcode, then test on a real device and adjust UI for touch.
If you want to learn coding the fun way, unity game development is your choice! Learn to make your own games and grab a job in the tech or gaming industry! Start this course now to get there in just a few weeks!
The Complete C# Unity Developer course is completely project based. You are going to create 6 fully featured games from scratch using the Unity 3D Game Engine.
Have you ever had an idea for a game, or wanted to work as a game developer?
Then you are at the right place!
You will love Unity 3D and will even learn to love C#!
In this course you are going to discover how to make games with Unity 3D - arguably the best game development engine in the world. Which allows you to create amazing indie titles but also triple A games for nearly every platform.
What will I get from this Unity 3D course?
Advanced C# coding skills
Advanced Unity 3D game development skills
Basic blender skills to create your own 3D assets
Support in the discussion forums
Which projects will be covered?
Pong Clone
Endless Runner (e.g. Zig Zag Clone)
Minesweeper
Fruit Ninja Clone
Farm Ville Clone
Bitblaser XL Clone
What you will learn:
Use and adjust the Unity interface
Advanced C# programming
Import assets from the asset store and use the work of others to your advantage
Create and Play sounds
Move objects dynamically or manually
Character Animations
Using user input in many different ways, e.g. klick, button taps, keyboard taps, touchscreen input etc.
Using scores and highscores
Swap and reset scenes
Using physics materials to bounce or slow down objects
Using different types of colliders
Using Raycast to check which element is selected
Make objects follow the mouse of the player
Create a 3D map with beautiful 3D assets from the Unity Asset Store
Create a beatifull UI
Create 3D models with Blender
Rotate gameObjects on middle button press
Implementation of a "hover" functionality
Using Unity Ads to make money with your games
Exporting a game to Android
Game Development Concepts
and much more
Who is your instructor?
I'm Denis Panjuta, an Instructor who taught over 40k Students how to code already and my mission is to teach coding to 100k students by 2019! I received my bachelor degree in engineering at the HTWG Konstanz in Germany and love making video games with Unity and teaching others how to do the same.
How you will get from zero to hero in game development with Unity 3D:
Bringing an Idea to life is one of the best feelings one can have. But the path to get there is often full of challenges. So we have created a course that makes this path as easy as possible!
You start off by learning the basics of Unity Physics and player movement. Then you learn to code in C# one of the most advanced and best programming languages available, within a couple of hours.
Once you are learned the basics of C# you will start off with Pong a huge success. This will teach you how to create UIs, basic physics, player movement and even a basic AI. This is already the basis for nearly every game you're ever going to make.
So you can start the course with no coding experience what so ever. Having the desire to make games is the only prerequisite to start with this course and make that desire reality.
We live in a world, where knowledge and work is shared more than ever, so using assets provided by others is a huge boost to your progress. You will learn how to use 3D assets to make an endless runner in Unity 3D. Then you’ll use animations, reset the game, use particle systems and finally create a map procedurally. That’s quite some advanced stuff right there.
As coding is an extremely important skill to make your own complex games, you will get a huge boost to your coding skills in the third game, Minesweeper, a huge success of the nineties and still a highly addictive game. You learn to build random fields, make dynamic User interfaces, use timers and much more. Equipped with those skills, you're already able to build far more complex games on your own
I know that learning to code and making games can be hard at times, and sometimes you just get stuck. But no worries, we are there for you. We answer each question as quickly as we can and make sure that you reach your goal of becoming a game developer.
This Unity 3D and C# course teaches you how to make use of stunning graphics and effects, available as "ready to use" assets from the internet. In addition, you're going to learn how to create and modify them on your own, so you can build every single aspect of your game on your own by then.
Ever wanted to slice some fruits on your phone? Then you will love the fifth chapter, where you will learn to build a fruit ninja clone, a huge mobile success. In this chapter you will see how you can build such a successful game within less than two hours from scratch. In this chapter you will also learn how to prepare a game for mobile and export it to and test it on an Android device. Building a Bitblaster XL clone you will learn to make different enemy types, extend a game as you go, use multiple different shooting types, create random enemies, use tags and much more. You could even simply take that game and make it your own.
Making a construction game like Farmville or Anno 1800 is a huge dream of many developers, so we have created a whole chapter covering just that. You will learn how to make your own 3D House and Wind Mill assets, place buildings on the map, while in play mode, create a resource system, make a beautiful ui using assets from the asset store, upgrade buildings and of course how to save and load the game using serializable classes.
Upon completion of this course you will know C# perfectly and will be able to take your own ideas and make complete games from them with Unity 3D!
So don’t waste any more time and start to make your dreams and ideas come true by taking this course now!