
Develop and polish a 2d platformer by learning character setup, movement, collisions, and tilemaps. Apply game systems, enemies, menus, audio, camera effects, and multiplayer features to deliver a complete project.
Adopt a real development mindset by defining problems, proposing solutions, and fixing bugs together as you build your first or second Unity 2D platformer.
Learn to handle bugs in Unity by comparing your project to the video, backtracking steps, and taking breaks. Use the Q&A section and precise posts to get fast help.
Embrace the journey of game development, recognize challenges as opportunities to learn and grow, and remember to have fun while celebrating small victories.
Install Unity via Unity Hub, choose LTS or latest, install Visual Studio Community, create a new 2D core project named Udemy course platformer, and connect Visual Studio to Unity.
Import pixel adventure assets from the Unity asset store, organize them in a graphics folder, and set pixel per unit to 16 for all sprites to prepare a 2D platformer.
Navigate Unity's project, scene, and game windows; use the hierarchy and inspector to manage objects, and employ move, rotate, scale, rect tools with hotkeys for editing in 2D platformer.
Learn how Unity uses components to define game object behavior in a 2D platformer, from transform and sprite renderer to rigidbody 2D, colliders, and custom scripts.
This lecture covers basics of c# and how visual studio connects to unity, explains monoBehaviour life cycle with awake, start, fixedupdate, update, and discusses public private variables.
Set up the player in Unity 2D by creating a visuals parent with a sprite renderer and animator, and attach Rigidbody 2D and Capsule Collider; adjust pivot center.
Implement snappy 2D platformer movement by capturing horizontal input, applying it to a rigidbody's velocity via a vector two, and controlling speed with move speed using a handle movement method.
Create idle and move animations for a Unity 2D platformer, configure an animator controller, prepare sprites with the sprite editor, and wire transitions via a boolean parameter driven by code.
Learn to build a blend tree in Unity's animator to smoothly switch between idle and move using an x velocity parameter, and wire it to rb velocity.x for clean transitions.
Learn to implement 2D platformer jump and collision detection in Unity, using ground checks with raycasts, input handling for space key down, and configurable jump force and gravity scale.
Learn to implement jump and fall animations in Unity 2D using a blend tree driven by y velocity and is grounded, with script updates and clean code tricks.
flip the Unity 2D character by rotating the transform 180 degrees on the y axis to flip the sprite and facing direction, coordinating with velocity.x and wall jump checks.
Balance gravity scale to 4.5 and jump force to 14 to shape the jump, then add a separate double jump with its own force and manage airborne status on landing.
Learn how to implement a wall slide in Unity 2D platformer: detect walls with raycasts, apply a zero friction physics material, slow descent, and animate wall slide with animator transitions.
Implement a wall jump in Unity using coroutines to pause horizontal movement, control jump duration, and apply wall jump force with x and y components.
Implement knockback by triggering the animation with a knockback trigger from any state, control duration via a coroutine, and disable player input during knockback.
Learn to implement a buffer jump in a Unity 2D platformer by buffering the jump input within a short time window, preserving velocity and delivering smoother, responsive hops.
Implement a coyote jump in Unity by adding a half-second jump window, activating and canceling the jump timer with the character leaving the ground, and test with continuous collision detection.
Clean up and organize the character project by removing debug lines, consolidating regions, repositioning wall slide and wall jump logic, and archiving the Unity 2D platformer project for sharing.
Explore creating a Unity 2D level with tile palette and tile map, add a tilemap collider and composite collider, and manage sorting layers and background rendering.
Learn to create an auto tile rule system in Unity 2D, using a rule tile, graphics terrain, and nine tiles to auto-fill corners, sides, and platforms.
Create a compact Unity 2D training ground to test the character, wall jump, and coyote jump with platforms, borders, traps, and enemies; set the camera size to ten for view.
Download the project for this lecture and review its current development stage; we won't perform cleanup. Proceed to the next section.
Implement a singleton game manager in Unity to centralize player references and scoring, accessible from any script. Enforce a single instance in awake for consistent game flow.
Learn how to use a trigger collider in Unity 2D, enable isTrigger, and detect when the player enters the trigger to apply knockback or pickups.
Learn to implement collectable fruits with on trigger enter, track fruits in the game manager, animate pickups, and destroy fruits after collection in a Unity 2D platformer.
Create a fruit manager to populate a 2d platformer level with prefabs, use an animator blend tree to vary fruit visuals, and optionally randomize or preset fruit appearances.
Learn how to instantiate a pickup effect at the fruit’s position at runtime, using a prefab, an animator controller, and animation events to destroy the effect after the animation ends.
Learn to implement a dead zone that kills the player by destroying the game object and triggering a death visual effect, with a trigger-based 2D collision in Unity 2D platformer.
Set a start and respawn point, instantiate a player prefab on death via the game manager. Use a coroutine delay and animation events to finish respawn, toggling gravity and collider.
Create and animate checkpoints in a Unity 2D platformer, using OnTriggerEnter2D to activate them, update the respawn position via the game manager, and switch idle and activated animator states.
Set up a finish point with a trigger and animator in Unity 2D, then upgrade the start point with a responsive collider, trigger-based animations, and a basic respawn point workflow.
Explore how to track total fruits and fruits collected in a Unity 2D platformer, implement an array of fruits, and display the results in the UI.
Learn how to tidy a Unity 2D platformer project by organizing scripts, validating animations, and implementing a reusable checkpoint reactivation system via a game manager boolean.
Develop a simple spike trap in Unity 2D using a sprite and trigger collider to deal damage and knockback, then drive animation with is_knocked and 20 rate for smoother motion.
Build a spinning soul trap in Unity using a prefab with sprites, a trigger collider, and an animator; move between waypoints, add a cooldown, and align knockback with damage source.
Extend the saw trap by cycling through multiple waypoint positions in a ping-pong pattern, using a Vector3 waypoint array, updating positions before movement, and cleaning up the prefab workflow.
Create a moving trampoline trap in a Unity 2D platformer by wiring an animator controller to trigger a push that temporarily disables player control and applies an impulse.
Develop a rotating arrow trap in a Unity 2D platformer that pushes players at the moment with animation and a trigger collider. Include cooldown-based respawns and lerp growth.
Learn to build a falling platform in Unity 2D: implement a kinematic to dynamic rigidbody, a trigger collider, up‑and‑down waypoints, randomized delays, and an impact sequence with disabled colliders.
Build a physics-based swing trap in Unity 2D by linking a dynamic spiked ball to a static base with a distance joint 2D and a hinge joint.
Design and implement a fire trap in a Unity 2D platformer: a trigger button deactivates the fire, which reactivates after a cooldown, using a capsule collider and an animator.
wrap up the section by implementing a trap waypoint system that automatically collects child waypoints into a dynamic list and syncs with an array to enable scalable trap paths.
Develop a mushroom enemy in Unity 2D platformer by implementing a reusable base enemy with movement, animation, and collision checks, including ground and wall detection, flipping, and idle timing.
Set up player–enemy and enemy–enemy interactions in a Unity 2D platformer, disable collisions via layer collision matrix, add a damage trigger, and implement stomp-based death with rotation and physics.
Learn to implement a chicken enemy in a 2D Unity platformer using colliders, prefabs, animation overrides, and raycast-based player detection to trigger pursuit and turn behavior.
Create a Unity 2D rhino enemy by duplicating a prefab, configuring collider and damage triggers, and implementing detection, charge movement, and wall bounce with reliable flips.
Fix a bug where rhino damages the player instead of killing the rhino by resizing the damage trigger; refactor enemies to share a base script for collision, detection, and animation.
Create an enemy plant that shoots bullets using a prefab, animator with idle and attack, and a cooldown. Implement bullet behavior and editor facing direction flipping for diverse placement.
Design a trunk enemy in Unity 2D that blends mushroom traits, walks left and right, detects the player, and shoots, using an animator controller with idle, move, hit, and attack.
Create a Unity 2D snail enemy by duplicating a mushroom, implementing idle and move states, and adding a shell form that activates after the first jump on its head.
Refactor the Unity 2D platformer project by restoring the checkpoint, removing the trap fire, and organizing enemies into a dedicated folder with their scripts; plan upcoming flying enemies.
Update unity version in unity hub to explore the UI main menu and life quality improvements, while noting minor button changes and using monobehaviour scripts in the project.
Create a Unity 2D main menu with an animated background using a textured 3D quad, a material offset, and a mesh renderer driven by a color texture array.
Create a centered new game button using the Minecraft Text Mesh Pro font on a scalable canvas, then wire a script to load the target scene on click.
Create a simple end scene in Unity 2D platformer, featuring scrolling credits with UI text and vertical layout group, plus a reusable background prefab and scene transitions.
Learn to implement fade in and fade out transitions in Unity 2D by animating a full-screen UI image alpha with a coroutine, using lerp and duration, then load scenes.
Switch between the main menu and a skin selection UI by using a switch UI function that enables one set of UI elements and disables the others.
Build a skin selection user interface for a Unity 2D platformer, swapping skins via animator override controllers and layered animations, and persist the chosen skin with a skin manager.
Create a scrollable level selection UI in Unity 2D using a grid layout group, content size filter, and dynamic buttons that load levels by name or index.
Learn to implement a simple save system in Unity using PlayerPrefs, saving and loading fruits, level time, and unlocked levels with default values.
Learn how to save level progression in a Unity 2D platformer by unlocking levels and updating player prefs. Implement a continue button, level selector, and loading the next scene.
Implement in-game UI for a Unity 2D platformer, featuring a timer and fruits display using Text Mesh Pro, updated via public methods, and made as a reusable prefab.
Update Unity 2D platformer level buttons to display level name, best time, total fruits, and fruits collected, handling locked levels, and save using player prefs.
Upgrade the Unity 2D platformer by implementing a skin purchase system: display a fruit bank and skin prices in the UI, unlock skins via playerPrefs, and deduct fruits on purchase.
Learn to implement a Unity 2D platformer difficulty system with easy, normal, and hard modes, handling fruit-based penalties, level restarts, and a dedicated difficulty manager connected to UI controls.
Build a pause UI overlay in Unity to pause and resume the game by adjusting time.timeScale, with resume and main menu buttons, activated by P or Escape.
Set up a settings UI in a Unity 2D platformer, add a BGM and sound effects volume slider, and link a back button to the main menu.
Finalize the ui flow from main menu to difficulty, skin, and level selection, ensuring continue uses the saved difficulty via PlayerPrefs and the difficulty manager.
Wraps up the UI section with optional refactoring ideas, keeping the game manager intact, and archives the project for download to continue in the next section.
Explore Cinemachine for a dynamic 2D camera in Unity: set up a virtual camera to follow the player with dead zones, limits, damping, and look-ahead.
Learn to implement camera shake in a Unity 2D platformer using Cinemachine impulse sources and listeners, with configurable recoil, explosion, and rumble modes tied to player knockback.
Master camera transitions in a Unity 2D platformer using Cinemachine, level cameras, and triggers, with smooth blends and lens adjustments to enhance multi-screen levels.
Implement an interactive main menu camera in a Unity 2D platformer using Cinemachine to move between the main menu and skin selection, with a menu character that walks to targets.
Set up the camera in this section, with minimal scripting and no major cleanup required, then hand the project off to you for the next section.
Set up a Unity audio manager to play sound effects via a serialized SFX array, implement a singleton pattern, and wire sounds to UI actions and level events.
Set up sound effects in a Unity 2D platformer using an audio manager and random pitch variation. Map sfx to actions like pickup, jump, death, and skin purchases.
Learn to set up background music for your Unity 2D platformer by importing tracks, organizing them under an audio manager, and playing random background music with volume control.
Learn to configure Unity volume with an audio mixer for background music and SFX, expose parameters to scripts, sync with UI sliders, and save settings via PlayerPrefs.
Discover where to find game audio—asset store, itch.io, upbeat.io, pixabay, and band sound—and learn to edit and cut audio for Unity with threecut.net and ai song tools.
Wrap up the project by archiving the Unity 2D platformer, ensure a persistent audio manager across scenes, and fix missing audio sources with prefabs and a game manager workflow.
Are you ready to jump into world of game development and create your own unique 2D platformer with local multiplayer game? Look no further than this comprehensive and standalone course, designed to take you through the process step by step, even if you have no previous experience in game development.
While it's better to have some experience and knowledge of C#, don't worry if you don't have it, because I'll cover everything you need to know to create 2D Platformer with local multiplayer.
Throughout this course, you'll learn how to create a responsive player controller ,levels with checkpoints, animated background, camera controllers, various traps and level mechanics, enemies to fight against. We'll be making over 11 enemies, providing you with clear examples of how to build different enemies with unique mechanics.
In the end I'm going to show you how to make a full gamepad support with, local multiplayer or even how to turn it into a mobile game if you wish to do so.
You'll also develop UI elements to manage systems such as difficulty selection, skin shop, level selection, settings and you will create a save system to save your progress - purchased skins, unlocked levels, best score and currency.
Finally, you'll polish your game mechanics, visual effects, particles, and build and publish your game. By the end of this course, you'll have all the tools you need to create your own unique 2D Platformer game, regardless of your previous experience.
You can use my deisgn or mix it with your own ideas. The systems in this course are clean and scalable, allowing you to build upon them and create a truly unique 2D Platformer game.
So don't hesitate, enroll in my course today and turn your game ideas into reality!