
Learn how to use the course and scores, navigate the Q&A and Discord, and complete challenges from setup to boss battles in a roguelike unity workflow.
Download Unity Hub to organize versions and projects, create an account, install the latest Unity version with Visual Studio Community 2019 or newer for coding, and select necessary platform modules.
Explore how Unity and Visual Studio work together, inspect Unity’s toolbar, hierarchy, scene and game views, inspector, and project window, and learn scripting like namespaces, public, class, start, and update.
Learn and apply version control basics for Unity game development using SourceTree, create repositories, manage commits, ignore library files, and revert changes to protect your project.
Explore Hades-inspired roguelike design with multiple weapons, shooting, dash-based invincibility, and isometric style with waves of enemies. Examine progression through levels, shop, currency, health upgrades, weapon upgrades, spikes, and maps.
Set up a Unity 2D roguelike project, import a sprite sheet, and slice it into multiple sprites using the sprite editor to create idle, walk, and torpedo animations.
Create a player with body, arm, shadow, and gun as children, and use Unity sorting layers to render front or back of the background for cohesive 2D rogue-like visuals.
Attach a player controller script to the Doom player, implement movement with input axes and vector2, using a serialized movement speed, and use start and update.
Move the player by updating the transform position with horizontal and vertical input using a vector3 with zero z, scaled by delta time and a movement speed in Unity.
Explore how to use colliders and rigid bodies in Unity to prevent players from passing walls, adjust collider sizes, manage gravity, and move with velocity to reduce jitter.
Rotate the gun around a weapons arm and aim toward the mouse using screen point coordinates, arctangent, and quaternion-based rotation.
Learn to use if statements to rotate and flip the player and gun toward the mouse, ensuring correct direction with scale flips and vector3.one resets.
Learn to bring your Unity 2D rogue-like character to life by creating idle and walking animations with the animator controller and body sprite renderer, using movement input to drive transitions.
Enhance player animations in Unity by syncing arm and gun movement with walking using curves and the dope sheet, avoiding gun rotation during animation while refining velocity.
Learn to normalize movement input to keep diagonal speed consistent by using velocity magnitude and vector normalization for a rogue-like game in Unity 2D.
Create and configure a visible laser bullet in Unity 2D by setting up assets, adding a rigidbody and collider, and using transform.right for direction, with triggers to destroy on impact.
Learn how to fire bullets using prefabs and instantiation in Unity, set up a bullet prefab, a fire point, and instantiate bullets at the correct position and rotation.
Implement automatic firing in Unity 2D game development using C# with a shot counter and delta time. Fire when the counter is zero and hold the left mouse button.
Assign bullets to a dedicated player bullets layer and configure the 2D physics layer matrix so bullets don't interact with each other or the player. They still collide with walls.
Create a bullet impact effect in Unity 2D by slicing a sprite, animating the hit, and instantiating a prefab on collision, then destroy it after the animation via an event.
Add a bullet trail in Unity using the trail renderer, tuning material, color, width, and lifetime, and fix an automatic vs manual fire bug to prevent extra bullets.
set up an enemy in Unity, add a chase range with a visual gizmo, and implement player tracking using find object of type to move toward the player within range.
Design a Unity 2D enemy that chases the player within a chase range using normalized direction and velocity, with a keep-chase range to stop pursuit outside bounds.
Animate the enemy by creating skeleton animations on the body, including idle, walking, attacking, and sword throwing, and access the animator with getComponentInChildren. Flip the enemy to face the player.
learn to implement enemy health and a public void damageEnemy method that deducts damage on bullet collisions, using compareTag checks to destroy the enemy when health falls to zero.
Apply blood splatter effects in Unity by creating a death splatter prefab, instantiating it on enemy death, and fine-tuning animation timing and sorting to achieve a realistic splash.
Learn to create random blood impact effects for enemies in Unity 2D by using arrays of blood splatter animations, instantiating a damage effect on hit, and controlling looping.
Implement enemy attacks using coroutines to time shots with a fire position and projectile, using yield and WaitForSeconds to control the time between shots and set ready to shoot.
design enemy bullets as flying swords for skeletons, implement a bullet controller that captures the player direction at fire, moves the bullet by transform, and destroys it on trigger enter.
Add a shooting range for the enemy, so it shoots only within a serialized distance, visualized by a blue circle, and refactor by extracting methods.
Explore game design by experimenting with enemy bullet layers, timing, and interactions, and unleash creativity to shape how enemy bullets interact with players and other bullets.
Convert sprites into tile assets by slicing into 16 by 16 tiles, then use the tile palette in Unity 2D to build a tile map and paint ground and walls.
Explore implementing a tile map collider and composite collider with a rigidbody in Unity to make walls and bullets interact efficiently, consolidating into a single, optimized collider.
Set up a Cinemachine virtual camera to create a smooth follow cam that tracks the player, explore composer options, look ahead, dead zones, and test in Unity.
Create closing doors in a Unity 2D rogue-like by using a for-each loop to deactivate doors when the player enters a room, locking paths until enemies are defeated.
Learn to manage multiple enemies with a serialized list in Unity, using overlap colliders and a contact filter with a layer mask to open doors when all enemies are defeated.
Learn to script enemy defeat and door mechanics using lists and for loops in Unity, removing defeated enemies and opening doors when all enemies are gone.
Demonstrates Unity scene management using a scene manager and level name strings to load next levels via a portal, with portal setup, level exit script, and build settings.
Create a central level manager to control scene transitions, using a static instance and a coroutine to delay loading the next level by two seconds via the scene manager.
Slow time during portal transitions and restore it with real-time waits, then confine the camera using Cinemachine polygon colliders to remove blue boundaries and improve level loading.
Create a full-screen black image fade using canvas group alpha and animator triggers, managed by a UI manager and invoked by the level manager during level transitions.
Implement a tornado dash in a rogue-like C# Unity 2D game. The dash doubles speed, grants invincibility, and can destroy objects, controlled by dash length and cooldown.
Learn to animate the player dash and torpedo firing in Unity, create and tune animation clips, use triggers, manage transitions, and ensure shooting stops during dashing.
Learn to implement breakable objects in Unity 2D, with breakable sprites, a box collider, dash-based destruction, and a break animation triggered by colliding with the player.
Instantiate three broken piece prefabs when a breakable object is destroyed, using an array and random selection, keeping pieces at zero position and rotating them for variation.
Implement broken pieces that scatter with random rotation around the z-axis and move in random directions, controlled by a script that uses lerp to halt movement.
Implement a slow destruction effect by fading each broken piece's sprite alpha with a lifetime timer, then destroy the game object when alpha reaches zero.
Move the shooting mechanic from the player controller to a dedicated weapon system for the shotgun, upgrading your rogue-like in C# and Unity with a professional, reusable firing design.
Explore how to implement a fire rate counter in a rogue-like shooter, balancing automatic and non-automatic weapons by counting down the shot timer and instantiating bullets.
Add a rifle and pistol alongside the shotgun, each with distinct bullets, firing rate, speed, and damage, while configuring sprites and fire points in prefabs and testing in play mode.
Cycle through pistol, shotgun, and rifle using a tap, managing an available guns list, updating the current gun index, and activating only the chosen weapon in Unity.
Explore how to display the current weapon on a Unity 2D canvas by pairing a weapon image with its name, and update it as players switch rifle, pistol, and shotgun.
Add dynamic camera shake to weapon firing using Cinemachine's multi-channel Perlin noise, with per-weapon shake intensity. Control shake duration with a coroutine and apply profiles for shotgun, rifle, and pistol.
Create a player health handler for the health system. Initialize current health from max health and implement a damage method to deactivate the player at zero from enemy bullets.
Create a health bar UI in Unity with a slider, hide the handle, style the background and fill, and use Text Mesh Pro with a font asset and outline.
Wire a UI manager to the health slider and health text (text mesh pro), and implement a health UI update method called on start and after damage to reflect health.
Create an immersive death screen in Unity 2D by building a full-screen black canvas with blood-splash animation, 'you died' text, and a fade-in sequence that activates on player death.
Implement an invincibility mechanic in Unity that makes the player immune after hits or dashing, with a blinking sprite during a timed invincibility period.
Create spikes that damage the player on contact using a trigger collider and a popping animation, with an event system to apply damage and a should-damage logic.
Create a health pickup in Unity 2D with a trigger collider, heal the player up to 100, update the UI, and prevent duplicate pickups using a pickedUp flag.
Implement random item drops in a Unity roguelike using a generic item dropper, enabling breakables and enemies to drop health or coins with a delayed pickup mechanic.
Learn to implement weapon pickups in a Unity 2D rogue-like game by creating pickup objects, updating the available weapons, and reliably equipping pistols and shotguns.
Learn to implement weapon pickup in a Unity 2D rogue-like, adding shotgun, pistol, and rifle, managing available weapons, and implementing reliable gun switching.
learn to create a chest that opens in a Unity 2D game, display a press E prompt, swap sprites, and grant random weapon pickups via a world-space canvas.
Spawn random weapon pickups from a chest by instantiating one of the potential weapons at a spawn point, controlled by a random index and a chest opened flag.
This course is made with the latest content and newest technics used in modern Game Development
The best way to learn anything is by doing it in a really fun way and this is where this course comes from. If you want to learn how all these incredible games you see are made there is no better place to start than this course. We made sure that this course has everything you need to take you from a beginner (even with zero codding experience) and slowly take you to intermediate level
I chose the main project in this course to be a 2D Roguelike because it not only has a vast library of game development concepts that we can implement and learn, but also because it's very simple (especially if you are a beginner) to delve in and get started on your game development journey.
Everything in this course has been meticulously crafted, review and recrafted to provide you with the best experience possible and maximize your learning as much as possible. So not only will you have a great time learning you'll also get the most value by going away from this course with a lot of tools in your arsenal to continue you journey in the wild west of game development.
Section 1: Introduction
We'll start off by downloading Unity and Visual studio. Installing them and making sure they work. We will then create our first code in C# and get used to Unity interface. Finally we'll talk about the game design of our game and what it takes to start creating a game from scratch
Section 2: Setting Up Our World
In this section we are going to start learning what sprite sheets are and how to set them up. We'll learn what sorting layers are in Unity. We'll look into colliders and RigidBodies and add them to our game objects and see how it starts getting affected by physics. we'll learn how to animate our sprites. We'll even understand what blending trees that will greatly help us reduce difficulty of animating
Section 3: Setting Up Shooting Mechanics
In this section we will be creating our players bullets, firing then in the direction out mouse is pointing, having a counter to create automatic firing and add impact effects to those bullets. While doing all of that we'll be learning about prefabs and instantiation and how to manipulate the world of our game to make it look much nicer
Section 4: Setting Up Enemies
This section completed the previous one. We create our shooting mechanics but now we need something to actually shoot at. We'll be setting up our enemies and moving them towards the player. We'll delve deeper to animations by adding the to our enemy and the use methods, arrays and something called a Coroutine that will take us deep into C#
Section 5: Creating Rooms (Tile map)
Up to this point we used a pre-created image to represent the map. Those days are over and it's time for us to create our own map. We'll be introduced to tilemaps in Unity, add various colliders to it and learn about a mechanic in Unity that few know which is the Cinemachine. We'll also have our fair share of C# when we learn foreach loops, and Lists
Section 6: Level Flow
In this section we will learn about the scene manager in Unity that will allow us to create multiple levels in our game and transition between them. Plus we'll learn a very tricky way to making sure we always arrive in the right position when moving through our worlds
Section 7: Destructible Environment
This is One of the most fun section in the course. Every roguelike has a dashing mechanic and we are going to have ours as well. We'll add a tornado mechanic but not only will it make us invincible and a bit fast it will also destroy any "destructible" game object in our path
Section 8: Advanced Shooting (weapons system)
What's better than having a weapons to shoot with? Having a lot of them and being able to choose between them on the go, we'll be adding multiple weapons to our game. Each with their own using shooting style, speed and damage. With various bullets and firing rate for each. Not only that, we'll also make our camera shake whenever we shoot to add more weight to our game
Section 9: Health System
In this section we'll be adding a player health system. We also visualize it by create a health bar that we can clearly see on a Canvas. We'll learn how we can update that health bar through script and add a cool death screen every time our player suffers a death. Finally we'll be adding spikes to the ground, once the player gets on them they will get hurt and lose a bit of that health
Section 10: Pickups
In this section we'll delve into pickups. We'll be picking up weapons from the ground. Coins with which we'll be able to buy money in shops, health packs that once hurt we can go and pickup and we'll also add a chest that we can open and get a weapons from. A random weapons this is where our C# skills will be begin to come to fruition
Section 11: Music & SFX
Time to breath some life into this game adding sound effects and Music. Now our game goes from static to dynamic. We will add background Music and SFX. To each level and each interaction respectively
Section 12: Multiple Enemy Types (Some should have melee attacks)
What's more fun that having 1 enemy that can kill you? Having 4 different type of enemies that can kill you. We'll have the wanderer, the patroller, the scared enemy and the angry skeletal enemy. This section will be the foundation of our enemy AI and will open the doors for the way we'll implement our boss in the upcoming section
Section 13: Shop & Money System
Now that we pick up items, we want to sell them... for MONEY! who doesn't like money? we will introduce a monetary system so basically create an economy. We create a shop with a shop keeper inside and we'll be able to transact with him using the money we have to buy and the items we have to sell
Section 14: Creating Menus
Every game HAS to have a main menu. But it also needs a dynamic main menu. We create a simple menu with a background. But the exiting part of this is the way we give the ability to our player to either continue from his last save or start a new game. We'll also be adding a Victory screen, a way to restart the level after death and a Pause/Resume mechanic
Section 15: Boss Battles (Advanced Unity State Machine)
It's time for the really fun part here. We'll be create a boss fight fight. But not just any boss fight, this boss fight will be using a state machine. Which is also at the same time out animator. We'll be suing it to transition the boss from state to state, and in each one he will have a different set of attacks
Bonus Section 16: Room Generation (Advanced C# Object Oriented Programming)
We come to our final section where we will be creating multiple rooms each with it's fun little tweak on the game mechanics, we'll have a random enemy spawner. We'll have doors that are closed and that upon only once we destroy all the enemies in our desired level. And we will have an option to choose between 2 levels to go to after we kill everyone that's in here
What You Will Learn In This Course:
Use Visual Studio with Unity in a simple way
How to set a good Game Development environment
Unity Engine are in a simple and comprehensive way
The Basics of C# in the most fun ways possible by creating a game
Use player input to control the behavior of our game
Add different component to game objects
Add gravity and other forces to game objects
Make game objects interact with each other in our game
Add sprite sheets and slice them up
Create Tile assets
How to create levels from our tile assets
Become a ninja problem solver and learn how to go step by step to solve any problem in Game Development and coding
Create animations