
Begin by setting up Unity for mobile games, join the discourse community for questions, review the completed project, and follow weekly tutorials on YouTube to sharpen your game dev skills.
Learn to set up Unity and Android Studio to build mobile games, enable Android build support, configure the Android SDK, and set the minimum API level for broad compatibility.
Explore the Unity editor layout, including scene and game views, hierarchy, project, inspector, and learn to create and manipulate objects with move, rotate, and scale tools, components, and basic lighting.
Create a new scene in Unity, arrange the game and scene views side by side, and set a fixed mobile portrait resolution (1080x1920) to match common phone screens.
Import asset packs into Unity via Unity package or Asset Store, tick all items for processing, and use prefabs from Core rather than the SBX folder.
Create a basic 3d scene by modeling a red player capsule on a green grass plane, add a path object, and adjust positions and camera to frame the world.
Position the camera in the game world by duplicating objects, snapping to corners, and setting a minus 45 degree angle, then switch to orographic projection and save the main scene.
Learn to create a C# script in Unity, name it with camel case, attach it to a game object, and expose public variables for the inspector.
Explore two movement approaches: moving the player with a script and moving the world around the player, using a public moveSpeed and Time.deltaTime for frame-rate independent movement.
Learn to move world objects instead of the player by building an object movement script, adjusting move speed, applying delta time, and testing in play mode to keep gameplay stable.
Create an infinite running path in Unity using path prefabs, a generation point, and instantiation to place new pieces ahead of the player. Use a threshold to optimize memory.
Destroy off-screen objects by removing them when their z position drops below a destruction threshold, using a path destruction point script and a static z position for performance.
Learn how to prevent frame-rate gaps by introducing a game manager that controls when objects can move, using a can_move flag to synchronize movement and testing in Unity.
Set a global static world speed in the game manager and apply it to all object movement scripts to control how fast the world moves, enabling dynamic difficulty.
Create and animate path tiles for a mobile game by turning a basic path into prefabs, adding varied environment tiles, and wiring a generation system with an object movement script.
Learn how to generate varied paths by creating a path pieces array of game objects and selecting a random index with random range to spawn tiles at runtime.
Add a background treeline behind the player with tree collection to align and vary prefabs, and implement a two-object loop that moves trees to the end instead of destroying them.
Create a tree line movement script, duplicate and align tree lines, use a box collider to size the range, and use a disappear point to loop movement.
Learn to replace a capsule with a playable character model, anchor it under a model holder, and align ground contact with colliders and simple animations for mobile games.
Create a simple walking animation by animating the player object with an animator and keyframes, using the animation window, record mode, and a timeline to simulate movement.
Create hazards along the path by converting objects into prefabs, removing existing colliders, and adding box colliders slightly smaller than the models to give forgiving hitboxes.
Create hazard prefabs, apply the moving object script to drive hazards toward the player, and tag them as hazards to distinguish from coins, enabling hazards generation ahead of the player.
Learn to implement a Unity hazard generator that randomly selects hazards from an array, spawns them at a fixed point, and varies intervals and rotations.
Detect hazards by triggering collisions with hazard-tagged objects using a trigger enter method in the player controller. Configure a rigidbody with isKinematic for collision detection and test with debug logs.
Create a clean collision response by calling a game manager's hazard function when the player hits a hazard, set can move to false, stop world movement, and halt hazard spawning.
Implement knockback on collision by converting the player's rigid body from kinematic to dynamic and applying a random impulse based on world speed, with an upward lift and sideways push.
Learn to implement a physics-based jump in Unity by tapping the screen to apply a vertical velocity, using rigidbody constraints and gravity adjustments for a natural feel.
Stop jumping after death by adding a condition that disables jumping when the game can't move, preventing infinite jumps and movement after death in a mobile Unity game.
Set up a ground check in Unity using a ground layer and an overlap sphere to prevent infinite jumping, allowing jumps only when grounded.
learn how to add and switch between player idle, walking, and jumping animations using a unity animator, with transitions controlled by a walking boolean and on-ground checks.
This lecture shows adding a random objects generator to place varied objects on the left and right of the path, using a script and prefabs for a dynamic world.
Create coins with animations, tag them as coins, and use prefabs via triggers. Update game manager to add and destroy coins on pickup, spawn coins ahead of the player.
Create and manage coin groups as prefabs, and build a coin generator that spawns coins at ground or above using a random top or bottom position to challenge the player.
Fix a double coin collection bug from multiple colliders by introducing a per-frame coin hit flag, reset each update, ensuring coins are collected once per frame.
Learn to persist coin totals between games using player preferences to save coins collected at game end and load them on start, enabling unlockable characters.
Implement a tap to start mechanic that enables player movement after tapping the screen, manage game state with a start flag, and adjust script execution order for reliable first taps.
Learn to implement increasing difficulty by gradually speeding up the game over time using a countdown timer, a speed multiplier, and gradual acceleration in the game manager.
Gradually increase game speed by governing a speed multiplier with a target speed multiplier and acceleration, updating the world speed via delta time in Unity.
Learn how to increase hazard spawn rate as the game speeds up by adjusting the hazard generator and dividing the timer by the speed multiplier, maintaining a consistent spawn rate.
Create a mobile game main menu in Unity with a title, start button, and a UI canvas that uses scale with screen size for responsive layout.
Position and style the game title in Unity UI, choose a Pixley font, adjust size, color, and outline, then add a play button wired to a script.
Create a main menu script on the canvas with a play game function that loads a scene via scene management. Add scenes to build and set the main menu first.
Enhance a mobile game's main menu by replacing the skybox with a bright solid color, adding a rotating animated character, adjusting the camera and lighting for a lively, cinematic feel.
Learn to lay out on-screen text in a Unity 2D mobile game by configuring canvas scaler, adding coins and distance text, and tap to begin prompt with font, color, outlines.
control on-screen text in unity by linking a tap to begin message, coin text, and distance text to the game manager, updating UI as coins are collected.
Create a death screen UI panel that appears after death, shows you died, distance reached and coins earned, and offers return to menu, spend coins to continue, or earn more.
Create a Unity game manager to activate the death screen on hazard collision and update public text fields for coins and distance, using a coroutine to delay the reveal.
Wire four death screen buttons in Unity, restart, main menu, spend coins, and get coins, using scene manager and active scene name with onClick handlers.
Learn to implement a continue feature with coins, enabling continuation at 100 coins, showing a not enough coins prompt when needed, and wiring the game manager to reset the player.
Learn to reset the game state after death by spending coins, restoring the player's start position and rotation, and reactivating movement; implement an invincibility timer.
Design and implement a pause menu in Unity with a pause screen, resume and main menu buttons, and time scale control to pause, resume, and reset when returning to menu.
Learn to implement a character switch feature in a mobile game's main menu, including a switching screen, unlock mechanics for 500 coins, coin display, and left-right navigation.
Position and animate multiple character models in a mobile game by duplicating a character holder, adjusting positions and the camera, and testing basic character selection in the menu.
Set up menu navigation and implement a character switch, moving the camera from its current position toward a target position using move toward or vector3 lerp for smooth transitions.
Move the camera between characters using left and right buttons, track the current character in an array, constrain movement by bounds, and unlock characters with coins.
Store per-character unlock states using player prefs, default unlock for the first character, and toggle play, unlock, and get coins buttons based on unlock status and coins.
Fix a character unlock bug by correcting the unlock logic, ensuring the key for a character and the coins determine when characters unlock, and add a visual character locked indicator.
Unlock characters by spending 500 coins, update the on-screen coin display, and switch the current character after an unlock check. Include a development-only code path for testing.
Lock characters in the Unity editor with a for loop and a preprocessor guard, press L to re-lock characters, and ensure this testing code does not run in the build.
Learn to store the selected character's name in a value, switch characters, and load the main game scene with the chosen character using the play game function.
Load the selected character model from the models array, match it to the main menu choice, instantiate under the model holder, destroy the previous character, and remove its rigid body.
Fix startup visuals by delaying and fading a full screen black overlay at game start. Hide the initial ground and adjust the path generation to create an infinite path.
Learn to optimize mobile shadows in Unity by testing on mobile, adjusting shadow distance and quality, then balance resolution and disable anti-aliasing to preserve performance.
Add an audio manager to control music and sound effects across the main menu and game, implement a mute toggle, loop settings, and persistence across scenes.
Learn to save a muted audio preference in player prefs using 0 or 1, initialize it on startup, and mute all sound when needed, updating user interface and booleans.
Learn to load and manage audio in-game by wiring an audio manager into game levels, reusing sound controls, and switching music between menu and gameplay.
control and coordinate game audio with an audio manager, stopping music on events, switching to game over music after hazards, and playing synchronized sound effects for jumps, coins, and collisions.
Create and customize coin and hazard particle effects in Unity, using bursts, color and size over lifetime, voxel rendering, and prefab instantiation on coin collection.
Learn how to create your very own endless runner game for mobile using Unity3D, an industry-standard program used by many large gaming studios and indie developers across the world.
In this course, you'll learn everything you need to build and release a game on the Google Play Store, from building the game all the way through to how to publish your game on the Play Store itself.
You won’t just be learning programming concepts in this course, but tying these concepts to real game development uses. You will have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete.
This course has been designed to be easily understandable to everyone, so whether you’re a complete beginner, an artist looking to expand their game development range or a programmer interested in understanding mobile game design, this course will help you gain a greater understanding of development.
At the end of this course you will have developed the ability to create such mobile game elements as:
Start learning today and let me help you become a mobile game developer!