
Game Design and Programming with Unity
Learn to Design Professional Games with Unity
What you'll learn
- Get to know the Unity engine and its main windows
- Set up the game environment
- Control game objects
- Adjust physical properties
- Use the camera and lighting
- Understand programming basics
- Learn object-oriented programming
- Write Unity scripts and read player input
- Simulate physics in the game
- Build complete game projects
About this course
This course teaches game design and programming with Unity, a game engine that provides ready-made libraries for graphics, physics and player input, so you can focus on your game idea instead of building everything from scratch. It starts with important introductions and downloading the add-ons, then moves on to the game-making tool, its main windows, setting up the game environment, the interface and the menu bar. Next you learn to control game objects, physical properties, the camera and lighting. After that you move to programming basics, object-oriented programming, Unity scripting, reading player input, physics simulation and the scene interface. At the end you build the game and apply what you learned in several game projects. The course suits anyone who loves making games, whether you are a beginner in programming or want to enter game development, and no previous experience is needed because the explanation starts from the basics. By the end you will be able to set up a Unity project, build scenes, move objects, write game code and make simple games on your own.
Expected outcomes
- Master Unity for professional game development.
- Design 3D games and integrated environments.
- Handle cameras, lighting, and physics to enhance gameplay.
- Create customizable and publishable game projects.
Learner reviews
Course content
1Getting Started with Unity
5 lectures
- Course HighlightsTours the Unity environment and Scene window, design time versus run time, then lighting, creating a script that inherits MonoBehaviour, scaling with the mouse wheel, and the collision function.17:02
- Important Introductions (1)Outlines the contents of the Unity game setup and programming course: installation, program screens, the game environment, controlling elements, physics, lighting, C# basics and object-oriented programming.8:28
- Important Introductions (2)Gives an overview of games and why to use Unity instead of Java, OpenGL or Flash, then shows how to download the program from its official site and explains the installer's components and Visual Studio.11:08
- Important Introductions (3)Explains installing Unity step by step from the installer file, including the need for .NET Framework and signing in with an account, until the program's main screen appears.9:17
- Important Introductions (4)Explains installing the remaining Unity files: the Standard Assets, the accompanying learning materials, and Visual Studio Community for writing code, with the steps for each file.3:04
2Game Setup and Programming Tool
2 lectures
- Game Setup and Programming Tool (1)Shows the main Unity windows, including Scene, Console, Project and Packages, then a first hands-on session with a cube and a sphere using the move tool to reposition and resize an object.17:29
- Game Setup and Programming Tool (2)Walks through a complete Unity example: a new project with a ball, a script that rotates it, the difference between Start and Update, changing the speed, and applying the same code to several objects.9:23
3Basic Windows
3 lectures
- Basic Windows (1)Explains the basic windows in Unity and the GameObject as the core element of a scene, creating an empty GameObject, and adjusting the camera to match what the designer sees in the scene.20:55
- Basic Windows (2)Explains modifying shapes in Unity: changing position, rotation and scale, applying colors and images as textures, why to build an image library, and the difference between Start and Update in code.31:28
- Basic Windows (3)Explains importing ready-made free or paid assets from the Unity store while watching their size, importing a small car and moving it in the scene, then introduces creating Terrain.6:53
4Setting Up the Game Environment
2 lectures
- Game Environment Setup (1)Explains setting up the game environment with the Terrain tool: choosing the ground texture, raising heights and mountains, adding trees, and swapping the images used to change the look of the scene.15:38
- Game Environment Setup (2)Continues setting up the game environment in Unity by saving and copying scenes, working on the Terrain, and adding a character, a camera and a water surface to the scene.18:21
5Interface and Menu Bar
2 lectures
- Interface and Menu Bar (1)Explains changing the Unity interface layout and choosing the one that suits the designer, returning to the default layout, saving a custom layout, with a quick look at the main menu.10:40
- Interface and Menu Bar (2)Explains the main menu in Unity and the role of the File menu, then importing images, exporting Packages, the Hierarchy window, and showing and hiding windows.15:33
6Game Element Control
2 lectures
- Control Elements of the Game (1)Explains linking game objects in a parent and child relationship so the group moves together, building a chain of objects, and rotating the main object with code so the other parts turn with it, as in an airplane.21:47
- Control Elements of the Game (2)Explains exporting a group of elements from a Unity project as a Package and importing it into a new project, and using ready-made packages from the store to save time.10:05
7Additional Controls
3 lectures
- Additional Controls (1)Explains moving an object by code toward a Target in the scene, marking the floor and obstacles as Static, and adjusting object sizes and finishing the design before setting up the path.16:22
- Additional Controls (2)Explains moving an object in Unity until it reaches a Target using a script, marking the floor and barriers as Static, and using the Console window to display messages.15:27
- Additional Controls (3)Explains setting up game Input in Unity: keyboard keys, mouse and joystick, sensitivity, the horizontal and vertical axes and jumping, then previews physical properties.5:21
8Physical Properties
2 lectures
- Physical Properties (1)Explains the physical properties of objects in Unity: why a cube hangs in the air without physics, adding a Collider so objects cannot pass through barriers, choosing the material type, and controlling a moving character.13:28
- Physical Properties (2)Explains adding the First Person Character Controller in Unity and its settings such as slope and height, then placing a door and a ball to test collisions and moving the door with a joint.16:34
9Camera and Lighting
3 lectures
- CameraExplains working with the camera in Unity: changing the background color or showing the sky, adjusting camera properties and what it sees, and adding a second camera to show a different part of the scene.13:45
- Lighting (1)Explains lighting in Unity, starting with the directional light that represents the sun and how adjusting its intensity makes a scene look like night or day, using a new scene with terrain and a house.10:01
- Lighting (2)Explains lighting types in Unity other than sunlight, namely directed lights that illuminate a specific spot, adjusting their range and angle on a floor and cubes.15:10
10Programming Basics
5 lectures
- Programming Basics (1)Explains the basic rules of the programming language: writing comments, the print command, variables and data types, and arithmetic operations of addition, subtraction, multiplication and division with printed results.13:29
- Programming Basics (2)Covers programming basics in Unity: variables, data types, constants and operators, plus a counter that increases every frame in the Update function and prints its value.11:34
- Programming Basics (3)Explains the for loop in C# inside Unity, which repeats an operation a fixed number of times, with an example of a moving ball, and applying a texture to the ball and attaching the script.13:27
- Programming Basics (4)Compares the for and while loops in C#, the first for a fixed number of repetitions and the second based on a condition, and explains the if statement with a counter example that stops a ball's rotation at a set value.8:40
- Programming Basics (5)Explains functions in programming: how to group commands into a named function such as Rotate, then call it from the script to spin a sphere. It previews the next lesson on classes.8:01
11Goal-Oriented Programming
3 lectures
- Goal-Based Programming (1)Explains the idea of a Class in C# as a container that organizes a group of functions, how to place functions inside it, the meaning of static, and creating a new class in a new scene.14:12
- Goal-Based Programming (2)Explains object-oriented programming in Unity through classes and objects, calling methods on an object, making a method public, and function overloading, then introduces error handling.13:43
- Goal-Oriented Programming (3)Explains the types of programming errors: syntax errors, runtime errors (exceptions) and logic errors, using a breakpoint to trace them, then try and catch to handle exceptions.6:27
12Unity Programming
6 lectures
- Unity Programming (1)Gives an overview of the second book's contents: the GUI and buttons, the clock projects, collisions, and programming skills in Unity more advanced than those of the first book.11:40
- Unity Programming (2)Applies programming in Unity by placing a script on the camera and moving it at a set speed along the X, Y and Z axes, then changing a ball's size through code to control elements during play.24:27
- Unity Programming (3)Explains changing an object's Scale through code in Unity via Transform, adding a value to the size every frame, and using if and else with a counter so the size grows then restarts from zero.11:04
- Unity Programming (4)Explains applying the same code to several objects, disabling a script on one object without deleting it, changing coordinates over time, reading the horizontal axis, then previews an example with two buttons.17:03
- Unity Programming (5)A practical Unity scripting example where buttons spawn objects, random numbers set the coordinates, and an if condition limits the action. It then introduces mouse events such as OnMouse.25:56
- Unity Programming (6)Covers input events in Unity such as OnMouseDown, OnMouseUp and OnMouseClick, public variables editable from the editor, and linking a player object to a script that moves it with the arrow keys.17:00
13Player Input Reading
3 lectures
- Reading Player Inputs (1)Explains reading keyboard input in Unity, creating a ball in a new scene and moving it up, down, left and right depending on which key the player presses.9:57
- Reading Player Inputs (2)Continues reading player input in Unity by moving a ball with the arrow keys, adding a jump and adjusting its height, applying the same idea to the camera instead of the ball, and previewing mouse input.17:29
- Reading Player Inputs (3)Explains reading mouse movement and wheel in Unity to move, enlarge or shrink an object, and the collision function that identifies the colliding object by name and destroys it.5:26
14Important Operations
2 lectures
- Important Operations (1)Explains the Prefab concept in Unity and how editing the original changes every copy built from it, then introduces the targeting system in which objects hit their targets.13:56
- Important Operations (2)Explains the targeting system in Unity: code that finds the target by name and reacts when it is hit, with a rotating cube and a score for each hit, requiring the target's name to match the name in the code.14:49
15Physics Simulation
4 lectures
- Physics Simulation (1)Explains physical properties in Unity and how mass affects pushing and falling using a ball, then groups elements under one parent object to build a car that moves as a single unit.13:04
- Physics Simulation (2)Explains building a car in Unity by grouping its parts under one empty object and positioning the wheels so the whole car moves together, and organizing files into folders for scenes, textures, images and audio.9:36
- Physics Simulation (3)Explains making one object move around another in Unity through a script, preparing the scene and camera, then moving the camera with the mouse instead of the ball.11:13
- Physics Simulation (4)Explains the built-in Vector3 class and its coordinates, calculating the distance between two objects, loading another scene from code, and playing an audio file by adding it to an object.12:30
16Scene Interface
2 lectures
- Scene Interface (1)Explains the Unity GUI: creating a dedicated script, drawing a box at set coordinates with text on it, and controlling the corners of the game screen using Screen variables.17:45
- Scene Interface (2)Continues the Unity GUI: showing a message at given coordinates, a button with an image instead of text, and a text field that stores what the user types in variables, swapping the script on the camera.11:39
17Game Development
2 lectures
- Building the Game (1)Explains building a game and exporting it from Unity as a standalone program for users through Build Settings, to run on Windows, Linux, Android and more, using a game made of a single scene.15:57
- Building the Game (2)Explains building the game and exporting it in a form users can run, including the Android platform, adding a menu image and the camera code to the scenes before exporting.18:42
18Game Projects
3 lectures
- Game Projects (1)Builds a clock project in Unity by creating objects for hours, minutes and seconds, setting their positions with numbers, then moving them over time to practice new skills.17:03
- Game Projects (2)Starts building a rolling-ball game on a table: setting up the table and light, making the camera follow the ball, and turning the yellow cubes into a Prefab that the ball collects on collision.9:09
- Game Projects (3)Implements the rolling-ball game step by step: creating a new project, writing the movement script, setting up the ball and camera, then deactivating cubes on collision using Tags.30:46
19Add-ons
1 attachments
- Download Attachments Here
Instructor

Eng. Azab Mohamed Azab



