Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Make a 2D platformer in Unity using Design Patterns
Section 1 - Introduction
Resources used to create this course (0:52)
How to use project files and ask Questions (3:20)
How to use github repository (1:17)
How to ask for a refund (0:44)
Project setup (6:25)
Section 2 - Working with Tilemaps
Lecture 7 Section 2 - Introduction (1:48)
Exploring the assets (5:53)
Setting up tilemap (4:11)
Editing tilemap (5:38)
Creating ground (8:22)
Adding Background (4:45)
Sorting Layers (6:26)
Setting camera (3:01)
Leave a review
Project files so far
Refer a friend discount program
Section 3 - Basic Character movement
Lecture 16 Section 3 - Introduction (2:04)
Creating player agent setup (7:14)
Setting Physics 2D collision layers (8:53)
Player Input Script 1 (8:25)
Player Input Script 2 (4:46)
Player Input Script 3 (9:08)
Creating Agent scripts to move the player (8:07)
Animations: Idle & Run (10:19)
AgentAnimations script (10:12)
Flipping Player Sprite when moving left (7:29)
Character gets stuck to a wall! (2:48)
Project files so far
Review The Course
Leave a Review Maybe?
Section 4 - Making character movement system extendable
Lecture 28 Section 4 - Introduction (2:51)
Problem with extending the character controller (8:05)
What is state pattern (6:41)
Creating State script (14:04)
Creating Idle State (7:38)
Creating MovmentState P1 (10:21)
Creating MovmentState P2 - Adding acceleration (10:55)
Refactoring Agent script to state pattern (12:54)
Project Files so far
Section 5 - Adding jumping mechanic
Lecture 37 Section 5 - Introduction (3:53)
Challenge: Adding animations (3:19)
Solution: Adding animations (2:56)
Grounded Detector - Idea (5:22)
Ground Detector - Gizmos (12:51)
Ground Detector - Detection (8:34)
Adding jump and fall state (4:00)
Challenge - Jump State class (2:53)
Solution - Jump State class (6:20)
Jump State - Better Jump (7:05)
Testing Jump (5:43)
Fall state class - Challenge (3:48)
Fall State class - Solution (6:48)
Finishing Fall State (9:24)
AgentData SO (9:29)
Project Files so far
Section 6 - Cinemachine camera setup
Lecture 53 Section 6 - Introduction (1:04)
Creating a 2D Cinemachine camera (5:21)
Improving the camera setup (8:45)
Adding Camera confiner (7:29)
Project Files so far
Section 7 - Creating Level 1
Lecture 58 Section 7 - Introduction (2:19)
Challenge - Creating more ground (3:46)
Solution - Creating more ground (4:41)
Adding platforms - basic setup (8:33)
PlatformEffector 2D (9:07)
Adding a ladder (11:33)
Adding map details (12:12)
Adding Parallax Effect to the background (6:30)
Project Files so far
Section 8 - Climbing Mechanic
Lecture 67 Section 8 - Introduction (1:28)
Adding Climb Animation (4:50)
Can I climb? (15:55)
Climbing state - Challenge (5:01)
Climbing state - Solution (13:21)
Transitioning to Climbing state (9:47)
Project Files so far
Section 9 - Adding player UI
Lecture 74 Section 9 - Introduction (2:40)
Creating Player Canvas (7:20)
Text Mesh Pro - adding font (5:18)
Adding Health UI (11:42)
Challenge - Adding Points UI (2:20)
Solution - Adding Points UI (7:31)
Health UI Script (10:15)
Point UI Script (3:45)
Player UI Script (3:47)
Project Files so far
Section 10 - Respawn system
Lecture 84 Section 10 - Introduction (1:57)
Idea behind respawn system (2:29)
Respawn Point Script (10:46)
Respawn Point Manager (6:38)
Pit Collider (7:35)
Respawning the Player (8:03)
Placing Spawn Points on the map (7:06)
Respawn Helper (6:51)
Project Files so far
Section 11 - Adding Music and Audio Feedback
Lecture 93 Section 11 - Introduction (2:24)
Background Music (5:16)
Audio mixer (6:13)
Adding Animation Events (8:18)
Step sound Audio Feedback (11:28)
Jump Sound (4:15)
Challenge - Land on the ground (2:18)
Solution - Land on the ground (6:05)
Project Files so far
Section 12 - Weapons system
Lecture 102 Section 12 - Introduction (2:49)
Weapon Class Diagram (7:41)
AgentWeaponManager script (12:54)
Agent Weapon gameobject (4:12)
WeaponStorage (6:19)
Creating Weapon Data (8:43)
Melee weapon and IHittable (7:32)
Creating specific weapon - Club (7:07)
Challenge - Use weapon in the State class (1:49)
Solution - Use weapon in the State class (3:50)
Project Files so far
Section 13 - Attack State
Lecture 113 Section 13 - Introduction (0:49)
Attack animation (9:52)
Creating Attack State (13:20)
Creating Attack State p2 (4:38)
Challenge - Transition to attack state (2:25)
Solution - Transition to attack state (6:07)
Testing Ihittable (16:04)
Project Files so far
Section 14 - Hit & Die State
Lecture 121 Section 14 - Introduction (1:45)
Factory method pattern - Improving the state pattern implementation (18:25)
Damagable script (9:38)
Initializing player health (6:44)
Challenge - Connecting to UI (0:58)
Solution - Connecting to UI (3:33)
Hit & Die animation (5:36)
GetHitState (6:12)
Die State (10:34)
Die & GetHit states transitions (10:45)
Adding feedback (5:02)
Project Files so far
Section 15 - Adding a patrolling enemy
Lecture 133 Section 15 - Introduction (1:57)
Reusing Agent prefab (7:19)
Adding Animator Override (14:13)
Enemy Agent Data SO (4:00)
Strategy pattern - Enemy AI design (6:21)
IAgentInput (4:58)
AIEnemy script (4:25)
AIPatrollingEnemyBrain (5:13)
Patrol Behaviour (9:46)
End Platform / Obstacle Detector (11:41)
Attack Behaviour (5:38)
Melee range detector (10:58)
Finishing Lizard Enemy (14:38)
Project Files so far
Section 16 - Adding Feedback To Fighting system
Lecture 147 Section 16 - Introduction (1:59)
Introduction to URP (8:25)
Creating a Solid Color shader (16:37)
Using the solid color shader (9:24)
Knockback Feedback (8:10)
Challenger - Temporary immortality (2:15)
Solution - Temporary immortality (10:16)
AI fix (10:55)
UI scale animation feedback (16:23)
Pickable items script (8:16)
Pickable health item prefab (13:24)
Spawning Pickable on enemy death (10:57)
Project Files so far
Section 17 - Adding range weapons
Lecture 160 Section 17 - Introduction (1:25)
Idea behind weapon system (3:03)
Boomerang prefab (14:40)
Range Weapon Data (8:23)
Picking up a weapon (8:57)
Challenge - Swapping weapon (1:44)
Solution - Swapping weapon (9:37)
Swapping Weapon Animations (8:31)
Project files so far
Review The Course
Leave a Review Maybe?
Section 18 Adding pickable points
Lecture 169 Section 18 - Introduction (0:44)
PlayerPoints script (12:08)
Challenge - Pickable bone prefab (1:50)
Solution - Pickable bone prefab (5:39)
Project files so far
Section 19 Adding a shooting enemy
Leture 174 - Section 19 - Introduction (1:14)
Reusing Patrolling enemy (11:50)
Static enemy animations (8:45)
Static enemy Detector (16:17)
Challenge - Shoot behaviour (2:06)
Solution - Shoot behaviour (10:52)
Testing (7:48)
Project files
Section 20 Adding main menu
Lecture 182 - Section 20 - Introduction (1:49)
Creating Main Menu (10:12)
Challenge - Menu background (1:36)
Solution - Menu background (2:06)
Adding Logo (3:16)
Adding Buttons (5:14)
Shake animation (6:20)
Moving Clouds Prefab (8:02)
Placing clouds (5:55)
Cloud Spawner (15:38)
Project files so far
Section 21 Level management system
Lecture 193 - Section 21 - Introduction (1:45)
Creating Level Management script (16:11)
Challenge - Win Scene (1:22)
Solution - Win Scene (3:41)
Adding Transition to level 2 sprite (5:51)
Adding world space canvas (5:07)
Exit Level Transition script (7:00)
Project files
Section 22 Save System
Lecture 201 - Section 22 - Introduction (1:56)
Idea behind saving system (6:07)
What are player prefs (3:59)
Save system (11:41)
SaveSystemManager & GameManger (15:27)
Saving in GameManager (4:03)
Continue button logic (6:38)
ISaveData (6:57)
Challenge: Saving points (1:54)
Solution - Saving points (4:13)
Saving Weapons (12:46)
Project files
Section 23 In-game menu
Lecture 213 - Section 23 - Introduction (1:09)
Adding Player In-Game Menu (7:03)
InGameMenu UI script (5:09)
MenuController script (10:10)
Project files
Section 24 Adding Level 2
Lecture 218 - Section 24 - Introduction (1:43)
Level 2 Background (10:05)
Challenge - Finish Background (1:25)
Solution - Finish Background (4:12)
Basic ground tilemap (6:38)
Creating Custom platforms (5:47)
Adjusting collider script (10:50)
Platform prefab (5:26)
Project files
Section 25 Adding flying enemy
Lecture 227 - Section 25 - Introduction (2:04)
The idea of a flying enemy (1:21)
Bug fix - UI scale animation (4:05)
Flying enemy prefab (9:20)
Fly state (13:53)
Patrol Path script (15:48)
Preparing patrol path (3:24)
Patrol Path Behaviour (15:30)
Challenge - Place flying enemies (0:58)
Solution - Place flying enemies (4:25)
Project files
Section 26 - Boss fight
Lecture 238 - Section 26 - Introduction (2:26)
Boss Prefab - Animations (10:01)
Boss Prefab - Colliders (10:07)
Detection Player the In Area (7:28)
AI Data Board (11:08)
Boss AI Brain (10:04)
Idle, Wait & Attack behaviour (10:33)
Charge Behaviour (8:11)
Boss Weapon, Boss Agent Data & Test (5:36)
Boss camera confiner (11:31)
Challenge - Boss health UI (4:04)
Solution - Boss health UI (14:55)
Level Exit - End project files (7:24)
Extra - Unity New input system package
New input system P1 - configuration (16:30)
New input system P2 - PlayerInputSO script (14:43)
New input system P3 - adding it to our project (14:29)
Fixing Bug with Restart Button
Extra videos
Mobile input - On-Screen Joystick
Handling slopes
Teach online with
Audio mixer
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock