
Begin by downloading and navigating the Unity interface, then build six fully featured games from scratch while mastering C# basics like variables, operations, functions, and conditionals.
Select and download a specific Unity version (5.4.1) from the Unity download archive for the best experience in this course, using Windows or Mac, with later updates using newer versions.
download unity from unity3d.com and install the free personal version with android and ios build support. learn the interface and create a new 2D or 3D project using default layout.
Learn to build your first Unity game by creating a 0–100 number guessing game with UI elements, input field, text, and a button, wired through a game controller script.
Variables are a way of saving data in computer programming. We are going to take a look at the most common variables used in Unity game development and we will get to know those variables in depth.
Master Unity variable operations: add, subtract, multiply, and divide integers and floats, print results with Debug.Log or print, and attach scripts to game objects.
Master Unity by building 6 fully featured games from scratch introduces functions, including void functions, functions with arguments, return values, and how to call and reuse them in MonoBehaviour.
If we have a choice in our game, for example do we want to go this way or take the other way, we use conditional statements to program that behaviour, so conditional statements enable us to create a state, and if that state is true then we will execute one piece of code otherwise we will execute other piece of code. Comparison operators are used to compare variables to each other and in this lectures we will see how that goes. And lastly loops, and loops are used if we want to repeat a single operation multiple times, which we will also see how can we do
that in this lecture.
Arrays are used for storing data of the same type. For example, when we want to keep track which player is locked and which player is unlocked we will store that in a boolean array.
Often in game programming we want to have a delayed behaviour, for that we use coroutines. Delegates are used for executing tasks in our program. So for example if we have a task that needs to be executed, but we dont care who will execute that task, for that we use delegates, and we can register to be a delegate for the specific event and when that event occurs then we will execute the task thats wanted from us.
Access static variables and functions through the class name, then define a delegate and static event, and subscribe with plus equals or unsubscribe with minus equals.
Organize the project with dedicated folders for scenes, fonts, sounds, and sprites, save the gameplay scene for Jack the Giant, and import assets with proper Unity settings.
Create and manage player animations by slicing sprites, setting up idle and walk clips, and configuring animator transitions with a boolean parameter to drive movement.
Attach rigid bodies to the player, add box and polygon colliders for clouds, and use constraints to freeze rotation; save game objects as prefabs and apply changes to propagate edits.
Add and scale multiple background layers in Unity, use sorting layers and order in layers to render backgrounds behind the player, and implement a background scaler script with box colliders.
Set up cloud collectors and cloud sponsors as camera children, configure colliders as triggers, tag clouds and deadly objects, and implement scripts to deactivate touched clouds and spawn new ones.
Position the player above the first cloud by swapping cloud positions and using vectors and transform coordinates, ensuring the player is not positioned on deadly dark clouds.
Learn to build an infinite scrolling background in Unity by using background collectors and a background spawner, leveraging trigger colliders, tags, and last Y position to recycle backgrounds seamlessly.
Learn how to animate Unity UI elements using Mecanim by building slide-in menus, animating buttons with frame-based positions, using panels to group items, and enabling menu navigation.
Build the in-game UI with life and coin icons and a score text, plus a pause panel with resume and quit options controlled by the gameplay controller.
Implement a player score script in Unity to track coin and life points, play corresponding audio clips, and update the score via the camera and on-trigger events.
Create a Unity gameplay controller with a public static instance for easy cross-script access. Implement pause mechanics, time scale, and pause panel, plus set score, coin score, and life score.
display final score and coin score on a game over panel, activate it on death, and provide a ready button to start, while setting up a future game manager singleton.
Create a singleton game manager to persist across scenes, using a public static instance and don't destroy on load. Manage score, coin score, and lives across loads and game over.
Learn how to implement player preferences in Unity using a static game preferences class, store scores, difficulty levels, and music state with key-value pairs, and represent booleans with integers.
control game over conditions and track high scores for easy, medium, and hard modes, updating coins and scores, saving preferences, and adjusting camera speed to match difficulty.
Create a singleton Unity music controller to manage a background audio source, toggle playback with a UI button, and reflect state with on/off icons.
Build a mobile joystick in Unity by adding left and right buttons, using pointer down/up events, and linking to the player movement script to move left or right.
Import and configure the Google mobile ads unity package in Unity, set up Android plugins and Play services, then create banner and interstitial ad units and test on a device.
Build a flappy bird clone in Unity while learning advanced game concepts, including game controllers, a bird selection system, sound effects, and monetization through leaderboards and social sharing.
Import assets for Flappy Bird in Unity and organize them into folders for sprites, fonts, scripts, sounds, and backgrounds. Learn to drag assets into the project to keep everything tidy.
Configure 2D sprites by adjusting import settings, texture type, and sprite mode; slice and name individual sprites in the editor, then apply changes and optimize memory and performance.
Slice the Flappy Bird sprites, create idle and flapping animation clips, and connect them in the animator with transitions and trigger parameters like flap and bird die.
Create a Unity gameplay scene by placing background and ground, and configuring sorting layers, tags (player as Flappy Bird) and layers with box colliders for infinite looping and pipe collisions.
Attach the bird script to the bird, create a flap button in the UI, configure the main camera and canvas, and implement a static instance to trigger flaps and animation.
Connect the flap button to the bird's flap function with find game object and get component, then implement a camera script that follows the bird with a static offset.
Create a BG collector to simulate an infinite background as the camera moves. Use a kinematic trigger collider to recycle BGs and grounds with the BG collector script.
Attach an audio source to the bird, wire up flap, point, and died clips, and trigger one-shot sounds on collision and pipe passes while updating the score.
Create a Unity main menu with a canvas and image backgrounds, add in-game UI buttons and text, and configure anchors and a flappy bird animation for interactive menus.
Create a pause menu in Unity by building a full-screen pause panel, adding text, images, and buttons for resume, restart, and pause button, plus score and high score displays.
Master Unity by building a game controller singleton that manages high scores with player preferences, unlocks green and red birds, and persists across scenes via prefabs and scripts.
Create a scene fader with a screen-space camera canvas and a black panel, add fade in/out animations, and use a coroutine to load levels.
Learn to build a Unity gameplay controller wiring UI elements like the pause panel, instructions button, and game over text with score tracking and bird unlocks.
Download and import Google Play games and profile plugins, set a unique bundle identifier and keystore, then prepare the Google Play store listing with graphics, privacy policy, content rating.
Learn to configure Google Play Games in Unity, implement a singleton leaderboards controller, sign in, open leaderboards, and report and display high scores across scenes.
Implement a twitter social media controller in Unity by importing packages, setting up core and profile events, initializing once, and enabling login, logout, and sharing tweets with user notifications.
Learn to integrate ads in Unity using AppLovin, configure the Android manifest and package name, initialize the ad controller, and load and display interstitial, video, and banner ads.
Preview a cowboy infinite runner prototype with a main menu, animated text, parallax backgrounds, obstacle and zombie dodging, meters tracking, and controls for pause, restart, and Google Play leaderboards.
Add box colliders and 2D rigidbodies to all obstacles, freeze z rotation, adjust scales to 0.5 by 0.5 (with obstacle 4 set to 0.5 by 0.4), and save as prefabs.
Create and scroll backgrounds and ground in Unity using quads, materials, and wrap-repeat textures, with a looper scaling to camera size.
Place the player in the scene by setting z position and scale, adjust gravity, and wire a jump button to a player jump script with forward and jump forces.
Attach obstacle script to move obstacles from right to left using a rigidbody and velocity, and implement the player animation script to switch between run and idle on collisions.
Create an offscreen obstacle script and a player death script, using on trigger enter 2D to detect collisions, deactivate obstacles, and trigger end-game events.
Master Unity by integrating Google Play Games Services, downloading the Unity plugin, configuring game details in the developer console, adding achievements and leaderboards, and importing the package into your project.
Import the Google Play games services package and configure it with your Android application ID to enable leaderboards. Implement a singleton LeaderboardsController to sign in, open leaderboards, and post scores.
Create and organize the player animations, including idle and walk states driven by a boolean walk parameter with transitions, and attach collider, rigidbody, constraints, tag, and prep for movement scripting.
Create and animate a spider shooter and a spider jumper in Unity, wiring animations, colliders, prefabs, and attack scripts to shoot bullets and destroy the player.
Build a spider walker in Unity by importing animations, applying a rigid body, moving via velocity in fixed update, and flipping direction on ground using a line cast, create prefab.
Learn to create main and level menus in Unity, configure a canvas and background, set up buttons and text, and wire level navigation with menu controllers.
Develops a camera follow script that tracks the player's x and y positions, clipping x with minX and maxX. Adds a collider to keep the player in view.
Create a Unity hud by wiring a camera-scoped UI with air and time sliders, linking to a gameplay controller and collectibles that extend timers and trigger player death when depleted.
Master the gameplay controller by implementing a pause system in Unity, adding a pause button and panel, controlling time scale, and enabling resume, restart, and return-to-menu actions.
Preview of a Unity puzzle game with three puzzles, level unlocks, star scoring, flip and match mechanics, and a music slider in a single scene.
Create a Unity settings panel by adding a button, image, slider, and text; resize, adjust alpha, set dark silver color, and align anchors for a polished in-game interface.
Program a main menu and settings panel in Unity by creating a puzzle menu controller and two scripts, wiring buttons to open and close animated panels.
Create a puzzle level select panel in Unity by adding six buttons (five levels and a back button) with stars and a padlock, plus slide-in and idle animations.
Wire the puzzle level flow by activating the level select and puzzle menu panels with slide in and slide out animations, and add a level controller with a select script.
Create a puzzle panel in Unity by arranging buttons inside a puzzle buttons holder on a grid layout group, configure cell size and spacing, and apply animator controller to panels.
Lay out puzzle buttons in panels, assign buttons and animators, and update the back-side images for candy, transport, and fruit puzzles across levels 1–5.
Learn to build a puzzle game manager in Unity by wiring puzzle buttons, animators, and game sprites, and by handling level and puzzle selection through serialized fields and event listeners.
Use a coroutine to flip puzzle buttons up by playing the turn up animation, waiting 0.4 seconds, and setting the button sprite to the corresponding puzzle image using the index.
Limit user input to two touches using first and second guess indices, with booleans tracking state. Compare puzzle image names to detect matches and log results to the console.
Check if the puzzles match by comparing two guesses, trigger fade-out animations for matched puzzles, increment the score, and reset guesses to replay until all pairs are found.
This lecture teaches how to implement a Unity game finished panel with show and hide routines, star-based activation, and fade animations for panel, stars, and text.
Use a level-based switch to award three stars for under five guesses, two for five to ten, or one otherwise, and reset gameplay state and hide finished panel for replay.
Create a serializable data class to save game progress and settings in Unity, including unlocked puzzle levels, star counts, and music volume.
Implement a puzzle game saver in Unity that saves and loads game data using a binary formatter, file streams, and the persistent data path, with try-catch and finally cleanup.
Demonstrates implementing a level locker system in a Unity puzzle game, unlocking levels via a puzzle game saver, and toggling level stars and padlocks for candy, transport, and fruit puzzles.
Attach stars to every level and unlock the next ones when players complete puzzles, then save and display star progress with the level locker and puzzle game saver.
Finally in this lecture we will begin with our game, firs we will import and organize our assets. Remember, organization is essential!!
In this lecture we will learn how can we slice our sprites to separate them from each other in order to use them in our game as individual sprites.
We will learn how to make animations using Unity's animation system. We will see how can we use the animation panel to create animations and how can we use animator panel to control these animations.
In order to reuse our game objects, we need to create prefabs out of them, and we will see how can we do that in this lecture. Colliders are used for collision detection and rigid bodies are used to apply physics on a game object.
In this lecture we will see how can we create our balls and bricks, and what are tags, layers and sorting layers.
Because our sprite arrow is very short, we need to create multiple copies of our arrow and connect them with each other to create our arrow, and we will do the same with our background bricks.
In this lecture we will take a deeper look into rigid bodies and colliders, and finally we will get into scripting.
We will utilize the rigid body of our balls to make them bounce, and we will see how that goes.
In this lecture we will program the movement of our arrows.
Now we will add that arrow to the player and shoot it when we click a mouse button.
Now that we can shoot the arrow from our player, we will continue to program our ball script.
We need to strict the player so that he can only shoot once or twice, and for that we are going to use a bool variable.
Since we have strict the player to shooting maximum twice, now we need to program our arrow script to inform the player when he can shoot again.
Broken bricks needs to break when the arrow hits it, for that we need a script, oh and we also need to position our bricks on the screen which our script will help us to do.
Before we begin to create menus, we will take a look at new unity's UI.
We will start with our main menu and design it from ground up, just to get a little comfortable with designing menus.
Here we will design the rest of our menus - shop menu, player menu and level menu.
I am a big fan of creating one game controller that will store all game relevant data, and we make that game controller a singleton so that we can have it in each scene and that way carry our data with us.
The Second part of our game controller.
The same way our game controller controls our game data, main menu controller will control the main menu and all of the buttons and actions that happen in the main menu.
Music controller is responsible for playing music in our game, and for playing click sounds when we touch a button.
Player menu controller will control the selection of our players and some other things.
The second part of our player menu controller.
Shop menu controller is going to control our shopping - when we buy arrows, coins, even when we want to share on facebook or watch a video to earn extra coins.
Level controller will controller which level we want to play, and our loading screen will play a nice transition when we go in our game play.
In this lecture we will create our gameplay UI - our joystick, shoot button, level timer, live timer, score and other stuff.
Game play controller will control the workflow of our game, he will restart the level when the player dies, he will keep track if the level time has reached zero, he will even prompt us to watch a video and earn extra lives if our player has no more lives left to continue the game.
Second part of our game play controller.
Third part of our game play controller.
The previous movement that we programmed for our player was for keyboards, now we will program the movement for mobile devices.
Finally we are ready to test our game on a real device, and we are going to do so using unity remote.
Continuing the script of our player script.
Adding new stuff to our ball script.
In this lecture we will take a look at what approach can we take to design our levels.
Before we integrate in app purchase, facebook and google play game services, we need to download 3rd party plugins which enable us to implement those features in our game.
Now we will import and configure our third party plugins in our project.
The First thing that we need to do when creating in app purchase with soomla, is that we need to prepare purchase items or items that we want to sell to our user.
Social media controller will control our facebook logging and sharing, and it will also control our in app purchase.
Second part of our social media controller.
Testing facebook connection and in app purchase on a real device.
Sharing on facebook and giving our user his reward for doing that.
Leaderboards controller will control our achievements and score and post it on google play.
Ads controller will control our video and interstitial ads and display them to our user.
Final test of our game to see that all of what we implemented actually works.
Tips about what you need to do when you want to publish our game on google play.
Tips about ads when you want to publish your game.
Some performance tips that can speed up our game, and also some physics tips if our physics system behaves strangely.
Some tips about how can we support multiple screen resolutions and sizes.
Learn how to configure Unity sprites, adjust compression and max size, and slice sprites automatically or manually in the sprite editor to create a player animation.
Create and reuse game objects with prefabs, apply 3D physics via rigidbody and colliders, and adjust fixed angles for proper collisions on clouds and floors.
Learn to script keyboard controlled player movement in Unity by using a rigidbody velocity, horizontal input, and a max velocity to cap speed, including facing direction.
Learn to script mobile player movement by translating screen touches into world-space directions and applying horizontal force to the rigid body, using touch phases to start and stop movement.
Script camera movement in Unity by configuring speed, acceleration, and max speed; update position with delta time, clamp values, and optionally smooth motion with lerp, exposing variables for inspector tuning.
Learn to set up layered backgrounds in Unity using sorting layers, with prefabs for background, clouds, collectibles, and player, and create a two-object looping background for infinite scrolling.
Create and configure cloud colliders in Unity by adding cloud and cloud collector objects, assigning tags and layers, tweaking the collision matrix, and implementing a trigger-based script to manage interactions.
Create a cloud spawner script in Unity, using serialized fields to configure cloud prefabs and randomize spawn x positions within min and max, with y spacing and a player reference.
Learn to build a cloud spawner in Unity by shuffling a pool of cloud prefabs, instantiating them at randomized x positions with proper y and z, and spacing between clouds.
Activate the cloud spawner to instantiate clouds at random x positions and center their y, then recycle clouds on collision to create infinite scrolling.
Explore creating a black cloud script to manage triggers, player position, and death by repositioning the character offscreen, testing with functions and shared scripts.
Prepare collectibles by setting up sprites with colliders and triggers, trigger collection events, play audio clips (including 3D sound), and destroy or deactivate the item after a four-second delay.
Track and update the player's score as they move, collecting coins and lights to earn points, while handling life and triggers to adjust score during gameplay.
Learn to spawn collectibles in Unity by instantiating coins and lives at runtime, using an invoke method from start, and controlling active states and placement around a central point.
Learn to create ui elements under a canvas, set render mode, and use anchors to keep a button fixed to the top-left as screen size changes.
Explore common Unity ui elements like buttons, text fields, and images in game development. Attach scripts, expose public functions, and wire button click listeners to manipulate text and image.
navigate between scenes in unity by wiring buttons to load high score and options screens, toggle music on/off, and manage audio with an audio source and scene indices.
Learn to prevent app crashes in Unity by using try-catch blocks to handle null reference exceptions when multiple UI buttons are pressed, and apply this to menu controllers.
Create responsive menus in Unity with OnGUI using separate textures for each button and a music on/off toggle. Resize textures for multiple resolutions and compare OnGUI with prefabs on mobile.
Create menus in Unity using the new UI, with images, buttons, anchors, and the event system in canvas settings for pixel-perfect layouts, and link actions to a main menu controller.
Animate new UI menus in Unity with slide in and out transitions. Attach a public game object, get the component animator, and trigger the options and score button animations.
Learn to implement Unity player preferences by using static keys to store and retrieve music state, difficulty, camera speed, and game resume data between sessions.
Set up first-launch defaults for Unity games by checking a first-run key, initializing difficulty to medium, scores to zero, and music off, then flag the game as played.
Set up background music in Unity by creating a music object, converting it to a prefab in the main menu, attaching an audio source, and using don't destroy on load.
Learn to check and control background music in Unity by reading a player preference int as a boolean, then play or stop the audio source with a music on/off toggle.
Create music on/off buttons that control the audio source, persist the choice with player preferences, and preserve music across scenes using don't destroy on load.
Set and check difficulty using player preferences for easy, medium, and hard, then reflect selections with a sign on buttons and save the state.
Set up a high score menu with two score decks and font setup, using game preferences static methods to reflect easy, medium, and hard difficulty.
Set up difficulty-based speeds by making speed variables private and initializing max speed to 1.0, then provide a method to adjust these variables from other scripts.
Press the start button to launch the game and determine if it starts from the main menu or restarts after death, saving this state in player preferences.
Pause by setting time scale to zero and resume on screen touch; hide the ready indicator and set time scale to one to begin.
Learn to integrate ads into a Unity Android project by importing the Google Mobile Ads plugin, configuring AdMob banner and interstitial units, and testing on a real device.
Implement interstitial ads that appear every five plays using a singleton ad manager, subscribe to ad events, manage banners across scenes, and store the play count in game preferences.
*** The Course Is Updated With New Lectures Which Makes It Easier For Beginners To Understand Programming Concepts ***
*** All Games Are Created In Unity Version 5+ ***
*** The code works on the newest Unity Version ***
*** The Course Is Updated With All New Unity Features ***
Enroll Now And Become A Master 2D Game Developer
With the release of Unity 5 building games was never easier!!!
This is a course I wish I had when I first started to learn game development.
The course is completely project based, and we are going to create 6 fully featured games from scratch using Unity Game Engine.
We will start with simple things so you will be comfortable if you are using Unity for the first time.
You will also benefit from my super fast response if you have any issue that you are stuck with(I check Udemy forums every day if someone posts a question). Oh and all the students taking the course will also be there to help you!
All project files will be included and you are free to use them for anything that you like, personal or commercial use!
Lets take a look at the games that we are going to create inside of this course:
We are going to start with a simple game that I call Jack The Giant. In this game we are going to help Jack climb down the beanstalk, along the way we can jump on white clouds but we need to avoid dark clouds. Besides of creating our gameplay we are going to create menus, implement background music, implement admob ads and much much more.
The next game that we are going to create is Flappy Bird, and I know what you are thinking oh not another Flappy Bird clone, but this is not a regular Flappy Bird clone, oh no, I've added a lot of features that you can't find in any other flappy bird clone such as selecting a bird(choose between different flappy birds), implementing tweeter and many other features that you will see inside of the course.
After Flappy Bird we are going to create one of the most popular games out there - Infinite Runner!! In this game we are going to see how can we implement features such as quads to represent our backgrounds, spawning obstacles and destroying them, recycling obstacles, implementing google play game services and much much more.
Next game that we are going to create is going to be a 2D Plaformer game that I call Spider Cave. In this game our player is able to fly and he needs to collect diamonds in order to exit out of the level, what he needs to avoid though are the spiders that lure inside the cave. We are going to have a spider shooter who shoots our player, spider jumper who tries to eat our player when the player is above him and spider walker who simply walks left and right. For the first time we are going to implement simple AI(Artificial Intelligence) in our games, and you can use these techniques in your own games that you will create!
After our spider cave we are going to create a nice puzzle game, which a kids game. In this game we are going to implement a lot of features such as creating the whole game in one single scene!! We are going to see how can we compare images to each other in order to check if we have a correct guess, we are going to use the mechanim system a lot in this game in order to animate our menus, that and much more awaits you in this lecture.
The final game that we are going to create is a game that is called Ball Panic. This is the largest game that we are going to create in this course and the game covers a lot of topics everybody is interested in, such as creating a level and character lock/unlock system, creating weapons menu in order to select a weapon for our player, creating level menu and unlocking those levels, implementing video and interstitial ads and in app purchase, that and much more awaits you in this lecture.
What You will learn
That And Much More Is Awaiting You In This Course
What this course DOES NOT cover :
The course teaches everything from basic to more advanced stuff on how to plan, design, develop and publish your game, however the course WILL NOT teach you every single aspect of Unity and how to use it because it's impossible to teach everything.
Using what you obtain in this course, you will be equipped with more than enough knowledge in order to continue improving yourself in the field of game development, using Unity or any other game engine.
If You ever had an idea for an awesome game, then enroll in this course and learn the tools that you need to develop Your next hit game!!!
What Is Your Risk By Taking This Course?
Nothing!! If you are not satisfied with the course, I promise I will give you a full refund of your money NO questions asked!!
Enroll Now!! You Will Not Be Disappointed!!