
Learn to design a Unity game main screen, settings including music and sounds, and character shop with coins, plus level selection and a game manager handling timers and level criteria.
Meet instructor Ahmad Naser, founder and solutions architect with expertise in web, cloud, apps, and educational games, guiding 20,000+ students in Arabic and English for the Unity games course.
Access free resources for the unity lock and unlock system course by completing verification on the eudemus platform and confirming your email to receive storyboard and a game ui template.
Illustrate how to design and implement a lock and unlock level system in a unity game, using a multi-layered UI with a slider to navigate 3–4 levels.
Download Unity, choose the version from archive or direct download, and install the personal edition on Windows or Mac with 64-bit support, Android, and web export.
Create a new Unity project, import and convert assets to UI sprites, organize folders, and build a 2D scene with a panel canvas and orthographic camera, optimizing for mobile display.
Design a responsive Unity UI by using the canvas, transforms, panels, anchors, and gizmos to keep the layout consistent across all screen sizes.
Design the middle panel of the Unity game's main panel, placing the main image, status indicator, and stars, while preserving aspect, anchoring elements, and keeping the UI responsive across devices.
Design top and bottom panels in Unity UI by placing images and text, configuring anchors and best fit text, and testing responsive layouts across resolutions.
Learn to design a Unity UI for a Pokémon ball game using vertical and horizontal layout groups, buttons, and panels to implement lock, unlock, and reset features.
Attach a button on click in Unity by dragging the scene manager into the on click event and invoking a public click method that prints to the console.
Learn how to add listeners to Unity buttons via a script, initialize and reference the lock, unlock, reset, and star buttons, and wire on click actions for six functions.
Learn how to use Unity's PlayerPrefs to save and retrieve a string with a key, via SetString and GetString, linked to lock and unlock buttons, for permanent storage.
Create a serializable level class in Unity and save instances to disk as JSON. Define ID, locked status, and stars, then serialize and deserialize between memory and JSON.
Demonstrate converting a Unity class to json and back with the JsonUtility, printing values and saving to permanent storage, then loading the json to reconstruct the object.
build a unity editor tool under tools to clean and manage player preferences with a custom editor script, a menu item, and a practical save-read workflow for level data.
Store and retrieve game data with Unity's player preferences, serialize objects to JSON, check keys before loading, and build a simple storage helper class.
Designs a saving algorithm for level data in Unity by using a root data container that serializes a list of levels with id, stars, and locked status, then saves.
Create and configure a storage manager to save and load player preferences, manage level data, and update the user interface in Unity.
Learn to set up a store manager and implement a static get default data method that initializes three levels, assigns IDs, and locks them by default.
Implement public static save and read methods to store and retrieve levels data in Unity. Convert data to JSON and save it to PlayerPrefs, with a debug log.
Initialize and load levels, apply them to the UI, and employ late initialization to refresh scenes, syncing the storage manager with level item statuses like stars and locks.
Link the slider item to its level by making a public composite relationship, exposing level data and unlock status, while enabling click actions and saving level data.
Bind player preferences data to the graphical user interface by syncing level data with the storage manager, updating lock/unlock visuals and star indicators based on the current level.
Bind data to the grid interface with the unlock button to unlock levels, update the current level in player preferences, and apply changes to the scene via the storage manager.
Apply data to the single level when the scene loads to activate unlock by default. Persist the lock state with player preferences so items remain unlocked across sessions.
Develop a Unity lock and unlock system with one to three stars, using player preferences to store current levels, update stars, and reset the UI.
Design the slider panels in Unity by configuring a canvas for screen space, adjusting the main camera, and creating left, middle, and right panels with a grabber.
Design and implement a Unity 2D slider with a main panel, slider content, and horizontal layout, using scroll rect and rect mask to constrain overflow.
Learn how to measure the width of the first slide item in a Unity responsive slider, manage children, and implement late initialization for reliable slider sizing.
Create a dynamic slider with rect transform, size content by item count and initial width, then adjust container width and anchors for centered navigation left or right.
Create a Unity scene manager to control a responsive slider with next and previous buttons, adjusting the anchored position by slide width, and prepare for smooth animations.
Create a dynamic coroutine animation in Unity by moving a container from start to end positions using lerp, Time.deltaTime, and an is_animating flag.
switch the canvas to world space, attach a camera, and ensure UI scales across screen sizes; test resolutions and bind the UI to player preferences like the single level.
Share a music manager across scenes, control background music, and navigate from the main scene to a second scene using a load level button.
Bind player preferences to the UI by dynamically assigning IDs to slider items from a storage manager. Retrieve slider children via get components in children to apply level states.
Bind slider levels to permanent storage by reading level data from the storage manager, looping through items, and updating each level's stars in the UI.
Create a levels menu by binding level data to the UI, linking slider items to level scenes with unique IDs, and implementing a player preferences driven lock and unlock system.
Design a main game screen in Unity and implement a multi-layer audio system with a singleton audio manager, importing and organizing music, sound effects, fonts, sprites, and icons.
Design an options panel in Unity for a Pokémon ball game, with music, sound, and reset buttons, an overlay background, proper anchors, and a close button for later activation.
Design and wire an options panel in Unity, adding a corner settings button, an overlay, and open/close actions via scripts and listeners to toggle visibility.
Learn to implement an audio manager in Unity, add an audio source for background music, create a toggle to play/pause music, control volume, and wire the toggle to UI.
Toggle the game music on and off by linking on and off icons in the options menu and updating active states, and explore one-shot sound effects as an exercise.
Learn how to divide audio into layers in Unity by building a main scene manager and a static audio manager, using layer names to play music or one shot sounds.
Divide each audio source into layers by using separate one-shot and music sources, create audio sources at runtime, and manage play and mute to avoid overlapping sounds in Unity.
Learn to implement a multi-layered UI sound toggle in Unity by wiring a sound manager to switch music and effects, update on/off icons, and play one-shot sounds.
Learn how to share the audio manager across scenes using a singleton service, register and retrieve a single instance, and prevent duplicates when loading new levels.
Implement a general singleton to share overlay, options panel, and options button across scenes, using start to locate and assign references by name and ensure the UI stays on top.
Create prefabs for the options canvas, M.Z. general object, and M.Z. manager to share across scenes and propagate changes throughout the game. Implement a singleton pattern, assign overlay and options panel references, and activate the options menu via a button listener when new scenes load.
Add a volume slider to the options canvas in a Unity game to adjust the music in real time, wiring it to the music source with a dynamic value.
Review the game manager setup, verify overlays and options panels, ensure proper level loading, and test prefab integration and player preferences across scenes.
implement keyboard movement in a unity scene by adding a player with a sprite and rigidbody, and controlling velocity with arrow keys using fixed update.
Attach a rigid body to the ball, configure mass and gravity, freeze the z rotation, then add a script to move the ball horizontally via velocity with a public speed.
Add a right border using an image, align anchors, and attach a 2D box collider; pair with a 2D rigidbody and a zero-friction, high-bounciness material to reflect the ball.
Add and align colliders for borders and the player in Unity, adjust anchors and rotation, and ensure ball collision and bouncing for future hit factor and trail enhancements.
Learn to add a trail render to the ball with a custom material, adjust timing and length, and display it on a responsive canvas using canvas scaler.
Implement ball collision detection in unity by using rigid bodies and continuous versus discrete collisions, detecting hits with the player, and reflecting velocity to maintain a constant ball speed.
Learn to implement a hit factor in Unity that detects ball hits on the top, middle, or bottom of the player and reflects its velocity using normalization.
Design and implement a mobile joystick in Unity, using a panel and two buttons with pointer down/up handlers to move and stop the player.
Learn to build a mobile joystick player controller in Unity that moves a ball based on up and down inputs, clamps velocity, and integrates with keyboard controls for versatile gameplay.
Add enemies and collision detection in a Unity Pokémon ball game, demonstrating how to manage enemy interactions and unlock gameplay elements with practical collision logic.
Configure collision detection for enemies in Unity, add the first enemy to the canvas, assign the enemy tag, and destroy it on collision, laying groundwork for sounds and more enemies.
Implement a game objects pool to manage enemies, initialize the pool by sizing it to the current scene's children, and activate the next available object to improve performance.
Learn to implement an object pool in Unity by creating a get next free item from the pool method that activates inactive objects and recycles them on collision.
Master building a dynamic object pool in Unity by replacing arrays with a list (IList), handling collisions, destroying or removing balls, and loading the next free item.
Learn the Unity MonoBehaviour lifecycle by ordering Awake before Start, initialize objects in Awake, then access them in Start, using GetComponent and child components as needed.
First course to teach you how to build your game template from scratch with c# and unity best practices, Build your fully featured lock system for levels, characters and many more and reuse it for your rest of upcoming games.
*** All Games Are Created In Unity Version 5.3+ ***
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 full featured games from scratch using Unity Game Engine.
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). And all the students taking the course will also be there to help you!
All project files and lessons source code will be included and you are free to use them for anything that you like, personal or commercial use!
Let's take a look at the games that we are going to create inside of this course:
First thing we are going to design and build Pokemon game layout, we are going to show you how to convert psd templates into real game ui using step by step approach, this is a really nice way of teaching if you are familiar with psd to html, psd to app, psd to games before, If not don't worry we are going to teach you everything from scratch.
After illustration phase we are going to build advance Levels user interface, and will introduce you to JSON objects and the way to do serialization to maintain games data.
Next, we are going to show how to build your own Game Storage Manager, to store and load the different data of your games in the permanent storage. You will learn how to build responsive 2D slider using the anchoring system in Unity, this part is exclusively prepared to make sure you master advanced UI and anchoring techniques.
Data binding is one of the important techniques that we are going to cover once we design Pokémon slider and add menu levels control.
Implement advanced controllable layered shared audio, music, sounds manager between scenes.
After all the previous steps we are going to build the core of Pokémon Ball Game, Covering all the physics and game play concepts and techniques such as adding game Joystick controller, advanced Game Objects Dynamic Pool. We will make Game Scene Manager and show you how to make Count Up and Down Timer, achieve coins collection, game actions and we are going to show you how to use SceneManagment and Load Scene Async.
Work with different audio layers and add game sounds SFX, One and Second Shot Audio Layers.
We are going to cover Canvas Scalar and GridLayout concepts for Levels Slider.
Apply some of retention concept in games development by adding characters selection, purchase, and lock, unlock between the scenes inside the game and activate dependent levels lock, unlock system for the different levels inside the game.
What You will learn?
That And Much More Is Awaiting For 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 More Than Happy!