
Open Unity Hub and create a new universal 3D project named Subway Runner. Set the location, switch the game view to simulator, and test on Apple iPhone 12.
Set up the game environment with subway runner assets, importing the environment, train wave runner, and scene, and configure humanoid rigs and animations alongside the Titan One font for text.
Drag and drop the jack character onto the scene, center it, and set up the humanoid avatar with an animator controller and game start, sliding, and jumping parameters.
Develop forward movement and lane-based controls for an infinite runner, using forward speed, lane distance, horizontal smoothing, gravity, jump force, and slide duration with the animator and the character controller.
Add keyboard-based pc controls to the player: move left, center, or right with left/right arrows or a/d, clamp the lane, and configure unity input handling to work in the editor.
Add jump and slide mechanics to the Unity character controller, using grounded checks, vertical velocity for jump, and animation triggers, plus a timed slide that lowers height and center.
Create a Unity camera follower that tracks the active player with a fixed offset, smooth movement and rotation, and auto-selects the first active character.
Create an infinite environment in Unity by spawning new segments at a spawn point when the player triggers a collider, then destroy the old segment after a delay.
Create an obstacle script in Unity that uses OnTriggerEnter to detect the player, trigger the die animation, and disable the runner controller across all obstacles.
Enable coin collection and persistence in a Unity mobile game by implementing a coin script, a game session manager with add coins logic, and saving totals with PlayerPrefs.
implement a score system in Unity for an endless runner by updating current score per second, tracking high score with playerprefs, and stopping on game over.
Implement mobile swipe controls in a Unity Subway Surfers clone by detecting touch input, calculating swipe delta, and triggering left/right lane movement, jump, and slide.
Build and tune the game UI for a Subway Surfers style clone in Unity, showing score, coins, high score, and enabling pause and game over panels with a countdown.
Implement tap-to-play to start the game from idle by disabling the main menu, enabling the game UI, and transitioning all players from idle to running with restored forward speed.
Enable the game over panel when the player falls, and stop the runners' forward speed. Implement a retry button that reloads the active scene to reset scores, timer, and coins.
Implement pause and unpause controls for a subway surfers clone in Unity by wiring the pause menu panel, countdown text, and time scale management with a coroutine countdown.
Display high score and total coins on main and game menus, show coins earned on game over, and implement an update UI routine with public text references in Unity.
Design and implement a character selection menu in Unity, configure Jack and Tricky, and build a dynamic UI with next/previous, buy, select, and name and price displays.
Show and hide the character selection menu by toggling the character selection panel and main menu canvas, updating the is any menu open flag via the game session manager.
Implement a Unity character selection system for a Subway Surfers clone: switch between Jack and tricky, unlock characters with coins, and update names, prices, and buy button states via PlayerPrefs.
fixes a bug where unlocked characters appear in gameplay by validating unlock status, falling back to the first or previous unlocked character, and updating the UI when purchasing characters.
Create a settings menu in Unity by duplicating UI, adding a close button and music and sound effects controls, and wiring it to the game session manager to toggle visibility.
import and assign audio assets in unity, create audio settings with bg music and sfx sources, control volumes with sliders, save prefs, and play coin and game over sounds.
Create a missions UI from the settings UI with two goals: collect 15 coins and reach 250 score, and fix swipe and tagging bugs, plus disable root motion for jumps.
Update missions by tracking coin and score targets, updating mission texts, and increasing targets (coins by 50, score by 200) using player prefs to persist progress.
Are you ready to build your own mobile game and break into the booming world of game development?
In this hands-on course, you’ll learn how to create a fully functional 3D endless runner game — inspired by top mobile hits — using Unity and C#, the industry-standard tools for game development. Whether you’re an absolute beginner or an aspiring indie developer, this project-based course will teach you everything you need to bring your game idea to life.
We’ll walk step-by-step through the process of building a fast-paced, swipe-controlled mobile runner game — similar to the style of games like Subway Surfers, Temple Run, and Blades of Brim. You'll master essential game mechanics such as lane switching, jumping, sliding, and obstacle dodging — all controlled by mobile-friendly touch input.
But we won’t stop at just movement! You’ll also build:
Procedural level generation for infinite gameplay
A working coin and score system
UI menus (start, pause, game over)
Sound effects and animations
Mobile build and testing for Android and iOS
Along the way, you’ll sharpen your skills in C# scripting, Unity scene management, physics, and UI/UX design — all while working on a game you can proudly showcase in your portfolio or publish to the App Store or Google Play.
This course is beginner-friendly, but packed with industry-relevant techniques that even experienced developers can benefit from. You’ll learn how to structure your code, optimize performance for mobile, and build features that keep players engaged.