Free online course Unity 2D Platformer Game Development Tutorial: Build a Complete Platformer
Duration of the online course: 5 hours and 1 minutes
New
Build a complete 2D platformer in Unity with this free course—learn movement, jumping, animation, UI, checkpoints, and scene flow. Certificate-ready skills.
In this free course, learn about
Unity Editor basics: scenes, GameObjects, Hierarchy, and using the Inspector for transforms/properties
Importing assets, building a first 2D scene, and creating repeating/parallax-like backgrounds
2D physics foundations: Rigidbody2D + Collider2D for gravity, collisions, and platforms
Using Physics Material 2D (with Collider2D) to control friction/bounce and movement feel
Prefabs and project organization: reuse grouped objects and update all instances consistently
Flipping sprites by changing localScale.x (or SpriteRenderer flipX) based on move direction
Camera follow with offset and smoothing for stable, readable platformer movement
Respawn, checkpoints, scene loading, persistent score/UI, health bar behavior, and damage-over-time
About the free online course
Turn your game idea into a playable 2D platformer by learning how to build the core systems that make the genre feel responsive and fun. In this free Unity course, you will go from getting comfortable in the editor to assembling a complete project with a character that moves, jumps, animates, and interacts with a level built for platforming. Along the way, you will develop practical workflow habits that help you organize assets, iterate quickly, and avoid common setup mistakes that slow beginners down.
You will start by creating scenes and importing art the right way, then bring your world to life with Unity’s 2D physics. You will see how Rigidbody2D and colliders work together, how friction and bounciness affect movement through Physics Materials, and how to create reusable building blocks with prefabs. From there, you will build environments efficiently using Tilemaps and colliders so your levels feel solid and consistent while staying easy to edit as your game grows.
Once the foundations are in place, the course shifts into scripting essential gameplay behavior in C#. You will implement smooth player movement, reliable jumping, and ground checks so the controls feel predictable. You will also tackle a common platformer pain point—characters catching on ledges—and apply an effective solution so motion stays clean and enjoyable.
To give your character personality, you will create sprite-based animations, set up an Animator Controller, and drive transitions in code. You will also make the character face the direction of travel and implement a camera follow system with adjustable offsets for better readability while playing. As your project becomes more game-like, you will add respawning and checkpoints, manage level transitions between scenes, and build a scoring system that persists correctly across levels.
Finally, you will add player feedback with UI elements such as score display and a health bar that updates smoothly as health changes, including handling damage over time when the player stays in contact with hazards. By the end, you will have a complete small platformer framework you can extend into your own levels, enemies, collectibles, and mechanics—plus portfolio-ready Unity skills that translate directly to future game development projects.
Course content
Video class: Unity 2D Platformer Tutorial 1 - Introduction to Unity12m
Exercise: In the Unity Editor, which panel shows the properties (like position and rotation) of the selected object?
Video class: Unity 2D Platformer Tutorial 2 - Importing Assets and creating your first scene13m
Exercise: How can you make a background repeat horizontally across a Unity 2D scene without manually duplicating it many times?
Video class: Unity 2D Platformer Tutorial 3 - RigidBodies and Colliders11m
Exercise: What components are needed so a player can fall due to gravity and land on a platform without passing through it?
Video class: Unity 2D Platformer Tutorial 4 - Physics Materials06m
Exercise: Which components must an object have to be able to use a Physics Material 2D?
Video class: Unity 2D Platformer Tutorial 5 - Prefabs, Hierarchy and Organising Assets08m
Exercise: What is the main benefit of turning a grouped set of objects (like three ladders) into a prefab?
Video class: Unity 2D Platformer Tutorial 6 - Tilemaps in Unity16m
Exercise: Which Unity packages should be installed (via Package Manager) to avoid errors and enable Tilemap tools when working with 2D Tilemaps?
Video class: Unity 2D Platformer Tutorial 8 - Introduction to Scripts in Unity16m
Exercise: In a Unity C# script, what is the key difference between the Start() and Update() methods?
Video class: Unity 2D Platformer Tutorial 9 - Player Movement22m
Exercise: Which components are required on the player object to begin implementing 2D movement?
Video class: Unity 2D Platformer Tutorial 10 - Making the Player Jump06m
Exercise: When adding jumping, how is the player’s velocity updated so horizontal movement is preserved?
Video class: Unity 2D Platformer Tutorial 11 - Jumping with Ground Check16m
Exercise: Which Unity 2D method is used to detect if the player is touching the ground by checking for colliders within a circle at the player’s feet?
Video class: Unity 2D Platformer Tutorial 12 - Preventing player from sticking to edges of platforms06m
Exercise: What is one effective way to stop a player from sticking to platform edges in a 2D Unity platformer?
Video class: Unity 2D Platformer Tutorial 13 - Animations in Unity18m
Exercise: When importing a sprite sheet to create a frame-by-frame animation, which setting change allows Unity to treat the image as multiple frames?
Video class: Unity 2D Platformer Tutorial 14 - Creating Player Animations (Part 1)10m
Exercise: What are the three main steps to animating player movement in a 2D Unity game?
Video class: Unity 2D Platformer Tutorial 15 - Setting up the Animator08m
Exercise: Which Animator parameters are added to control transitions between idle, walking, and jumping?
Video class: Unity 2D Platformer Tutorial 16 - Coding the player animations07m
Exercise: Why is Mathf.Abs() used when setting the animator's Speed parameter from the player's x-axis velocity?
Video class: Unity 2D Platformer Tutorial 17 - Making the player look in both directions06m
Exercise: How do you flip a 2D player sprite to face the direction it is walking in Unity?
Video class: Unity 2D Platformer Tutorial 18 - Making the camera follow the player16m
Exercise: In a 2D platformer camera follow script, what is the main purpose of the public float variables offset and offset smoothing?
Video class: Unity 2D Platformer Tutorial 19 - Respawning the player13m
Exercise: What setting is required on the Fall Detector's BoxCollider2D so the player can pass through it while still triggering a respawn?
Video class: Unity 2D Platformer Tutorial 20 - Respawn checkpoints06m
Exercise: How is the player's respawn location updated when they reach a checkpoint?
Video class: Unity 2D Platformer Tutorial 21 - Level management and teleporting between scenes18m
Exercise: What does using SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1) achieve when the player enters a portal tagged Next Level?
Video class: Unity 2D Platformer Tutorial 22 - Scoring13m
Exercise: How can you keep the player's score from resetting when moving between different scenes in a Unity 2D platformer?
Video class: Unity 2D Platformer Tutorial 23 - Adding a UI to display the score13m
Exercise: How can you reuse the same score UI across multiple levels without recreating it each time?
Video class: Unity 2D Platformer Tutorial 24 - Health Bar (Part 1)08m
Exercise: How is the health bar set up so it shrinks from right to left when health decreases?
Video class: Unity 2D Platformer Tutorial 24 - Health Bar (Part 2)08m
Exercise: In the Health Bar system, what is the main purpose of the separate Health script?
Video class: Unity 2D Platformer Tutorial 24 - Health Bar (Part 3)09m
Exercise: Which Unity method should be used if the player must keep losing health for every frame they remain touching spikes?