
Create a 2D action game in Unity by implementing player movement, dungeon generation with templates and prefabs, weapon and pickable item systems, and state-based enemy AI inspired by Soul Knight.
Create a 2d action game in Unity by creating a new project with a 2d template, adjusting the layout, and importing assets such as fonts, sprites, and weapons for gameplay.
learn to implement a dash in a 2d Unity action game by binding space to a dash input, adjusting speed and transparency with a coroutine and sprite renderer.
Create an idle animation for the player in a Unity 2D action game by making the sprite a child, preparing a 16x16 sprite sheet, and animating in the animation window.
Duplicate each player in the Unity hierarchy and remove their animator components. Rename them Shadow Blade, Gandalf, Iron, Ember, Novak; create idle animations and move them to prefabs.
Build a Unity player health system using a config scriptable object to manage max health and armor, with recover and take damage methods, armor break, and death handling.
Create a Unity player energy system by adding a Player Energy script that uses a player config ScriptableObject, clamps to 0 and max energy, and uses H and J keys.
Create a UI manager in Unity to dynamically display player health, armor, and energy with animated bars and texts using TextMeshPro, configured via scriptable objects.
Create a dungeon-driven 2D action game in Unity by building rooms and corridors, with tile maps, walls, and doors that lock until all enemies are defeated.
Modify walls and tiles to create four rooms with south, west, east, and north connections; duplicate and rename rooms, apply changes to prefabs, and prepare for future two-connection layouts.
Create rooms with two connections in a 2D Unity game by adding floors and walls, then duplicate and rename rooms to form north-west and north-east connections.
Create and arrange dungeon rooms with three and four connections, modify walls and floors, rotate connections, and place original prefabs to build Unity 2d levels.
Learn to create vertical and horizontal corridors in Unity by editing tile maps, adding walls and floors, renaming to corridor v and corridor h, and organizing assets in rooms folder.
Learn to build a dungeon level in Unity by arranging rooms and corridors, naming entrances and exits, aligning tiles with Ctrl, duplicating sections, and creating level prefabs for five dungeons.
Create doors for a 2D action game in Unity, implementing open and closed animations, colliders, and triggers with animator override controllers for reusable door behavior.
Create and configure props, including boxes and spikes, by slicing sprites, setting 2D colliders, adjusting sizes, and animating spikes to enable/disable colliders in Unity.
Use room templates to draw 14x14 dungeon layouts with random variations, manage tiles and doors, and load new dungeons as players reach portals, locking doors until enemies are defeated.
Review templates to build 2D rooms in Unity. Read each pixel of a 14 by 14 template, map colors to prefabs via a scriptable object, and instantiate them accordingly.
Create scriptable objects to store room templates, colors, and associated prefabs, mapping pixel colors to prefabs for procedural room generation in Unity.
Paint the extra tile map in each room, then build a room script to track tile availability with a dictionary and visualize it with gizmos in the scene.
Learn how to load room templates in Unity, implement a level manager singleton, and generate rooms by painting templates onto a grid using scriptable objects and color-based props.
Add doors to each room connection in a 2D Unity game by instantiating door prefabs at defined positions via a dungeon library scriptable object and level manager, with open/close animations.
Complete rooms by creating and positioning door objects for each room and linking them to north, south, east, and west connections in a 2D Unity action game.
Close doors when the player enters a room by firing a player-enter event, subscribing in the level manager, tracking the current room, and triggering door open/close animations.
Instantiate dungeons in Unity by configuring levels and dungeons in a scriptable object dungeon library, then use the level manager to instantiate and replace each dungeon.
Create a portal that fires an on portal event when the player collides, and let the level manager load the next dungeon by advancing dungeon and level indices.
Position the player at each dungeon entrance in a Unity 2D action game by locating room entrances and updating the player transform during level transitions.
Implement a fade screen in Unity by using a canvas group alpha animation and a static helper coroutine, triggered via the UI manager to load the next dungeon.
Configure weapons in Unity by creating prefabs and scriptable objects, set weapon id, icon, type, gravity, damage, energy, and fire rate, then equip and rotate weapons with the player.
Create and configure weapons in Unity by using a base item data scriptable object and a weapon class with type, rarity, damage, energy, time between shots, and min/max spread.
Create weapon prefabs in Unity by building a weapon hierarchy, adding sprites and shoot positions, and applying a weapon script and sorting layers for multiple guns.
Learn to add weapon animations in unity by keyframing sprite transforms for multiple guns, create an animator override system, and set weapon sorting layers for consistent shooting sequences.
Equip and rotate weapons by creating a weapon holder on the player, instantiating the starting weapon, and rotating it via movement direction to face right, left, up, or down.
Learn to implement a 2D Unity shooter: configure input actions, create a base weapon and gun weapon, spawn projectiles with spread, and animate shooting.
Configure weapon projectiles and reference the item weapon, then use a player energy pool to gate shooting, spending energy for guns while melee weapons ignore it.
Build a 2d melee sword in unity by creating sword, adding a sprite and collider, and implementing an attack animation with an animator override controller and scriptable object weapon block.
Create and implement the ITakeDamage interface in Unity so props, players, and enemies can take damage, track durability, and destroy objects when the damage counter reaches the limit.
Explore creating pickable items in a 2d action game with Unity, building a chest with open animation, collision-triggered item loading, and color-coded rarities via scriptable objects and a level manager.
Create a chest prefab with an open animation and a C# script that spawns a random item at the item position after clearing the room, using a 2D trigger.
Create a 2D Unity pickup system by building a Pickable item class, registering a pickup action, and picking up a weapon from a chest using item data scriptable objects.
Learn to implement a two-weapon system in Unity: manage equipped weapons with an array and index, equip from pickable items, and destroy and replace weapons via the level manager.
Learn how to implement weapon switching in a 2D action game with Unity by binding tab to change weapons, toggling active weapons, updating current weapon, and resetting weapon transforms.
Show item names in a world-space canvas using Text Mesh Pro, with a singleton item text manager that displays weapon names above pickable items and adapts color by rarity.
Show the current weapon name above the player by starting a coroutine that displays a weapon name text, keeps it following the player's position, and destroys it after two seconds.
Create a chest items scriptable object to store level-specific items, then use the level manager to populate current level chest items and assign a random item.
Define a singleton game manager to store weapon rarity colors, implement a get color by rarity method, and update item and weapon scripts to apply the corresponding color at runtime.
Implement a generic singleton pattern in Unity by constraining T to Monobehaviour and exposing a static instance. Create a persistent singleton that survives scene changes with dont destroy on load.
Learn to build a lobby scene to select a player, view and upgrade stats, unlock characters, and load a dungeon via a portal in a 2D action game with Unity.
Create a main lobby scene in Unity to select a player and load the dungeon, building walls, floors, props, and a portal with proper colliders and sorting layers.
Create five selectable player prefabs and chair positions, then implement a menu to open a config window and select a player before loading the dungeon. Set up a selectable player script and a menu manager to organize the options.
Instantiate selectable players in a Unity menu using a menu manager with a serialized creation array and creation positions, then click a player to enable its movement.
Create a Unity player selection ui with a canvas, background, and menu panel, showcasing a player icon, name, level, and a stats bar suite (health, armor, energy, critical chance).
Update the menu panel to reflect the selected player's icon, name, level, and max stats (health, armor, energy, critical) using the Unity UI, menu manager, and config scriptable objects.
Learn to implement a player selection UI in Unity 2D by adding and configuring select, unlock, and upgrade buttons in player panel, wired to scriptable objects and a menu manager.
Learn to implement a coin system in Unity with a coin manager singleton, save coins via PlayerPrefs, and upgrade a player's stats using a config-driven cost system that updates UI.
Update stats bars and unlock players in a 2D Unity action game; manage max upgrade values for health, armor, energy, and critical chance with bar fills and coin-based unlocks.
Trigger change by colliding with portal in Unity 2D, enabling a fade effect and loading the dungeon scene after 2.5-second delay, using a portal script, canvas fade, and scene manager.
Update the UI manager to use a player config for the selected player's stats in play mode, ensuring Gandalf or Shadow Blade updates appear in the dungeon.
Add Cinemachine to a Unity 2D project, install the package, set up a 2D virtual camera, and configure the dead zone, damping, and auto size to follow the player Gandalf.
Follow the selected player with a Cinemachine virtual camera by linking a dungeon camera script to the level manager’s selected player transform, then test in play mode.
Explore building an enemy AI with a finite state machine in a 2d Unity game, including health, weapon classes, and an AI brain for wandering and attacking.
Create enemy prefabs in Unity by adding circle collider 2D and kinematic rigidbody, assign an enemy sorting layer, and implement simple scale animations for crab, cactus, ghost, rats, and bat.
Implement an enemy health class in Unity that uses a take damage interface, manages serialized health, flashes the sprite when hit, and destroys enemies at zero.
Learn to detect enemies in a 2d action game with Unity by creating a player detection class, using a circle collider 2d, trigger events, and drawing gizmos to visualize targets.
Discover how to detect enemies in line of sight by casting 2D raycasts from the player, maintaining a line-of-sight list with an obstacle mask, and selecting the closest target.
Design a finite state machine based enemy ai in Unity, using states like wander, chase, and attack, with actions and transitions controlled by serialized inspector configurations.
Learn to implement a random wander enemy action in a Unity 2D action game using finite state machines, including obstacle-aware tile movement, gizmos, and debug visuals.
Learn how to make enemies in a 2D Unity action game move randomly while detecting obstacles, using overlap circle for collision, computing new positions, and updating movement direction.
Instantiate enemies in rooms by selecting available tiles, building an available tiles list with linq, and spawning random enemies per room based on level min and max.
Teach tile-based enemy wander by linking enemies to their room, adjust obstacle detection to prevent wall collisions, and treat doors as obstacles for smarter 2D Unity action game enemies.
Create an action that detects the player via a 2D overlap circle and range detection, updating the enemy brain’s player reference for state transitions, with gizmos for debugging.
Build a 2D Unity game feature that checks line of sight to the player with a 2D raycast against obstacles, updating state from wander to attack via an FSM.
Refactor player weapon into a base character weapon to share logic with enemies, convert fields to protected, override awake, and rotate the weapon using movement and the closest enemy position.
Create an enemy weapon system in Unity by implementing an enemy weapon class that instantiates weapons, rotates toward the player, and shoots only when in line of sight.
Configure the enemy attack flow in Unity by wiring the enemy brain and weapon, adding an attack timer, and triggering gun weapon projectiles to damage the player.
update projectile damage by checking who shoots it, applying player critical chance to increase damage while enemies use the base weapon damage.
Rotate the player weapon toward the closest enemy using detection and a vector, and flip the sprite to face the target, or fallback to move direction when no target exists.
Create a sword weapon in Unity by linking a sword prefab and animation, implementing take-damage logic, target range detection, and melee damage for players and enemies.
Welcome to the exciting world of game development with Unity! In this comprehensive Udemy course, you will delve into the process of creating a Soul Knight-style game using the powerful Unity development platform.
Throughout this learning journey, you will discover how to create an action-packed game filled with action elements and exciting challenges, similar to the popular game Soul Knight.
Our unique approach focuses on making the complex game development process accessible to all skill levels. From beginners to more experienced developers, this course is designed so that anyone interested in game development can dive in and learn effectively. The clarity of instructions and the logical structure of the course ensure that you can easily understand and apply the presented concepts.
Below, we present a brief introduction to the main topics that we will address throughout the course:
State-based AI System (FSM)
Master Scriptable Objects
Design a Weapon System
Create custom Dungeons u
Create Enemies
Create Boss
Create Players
Design UI
Use Tilemaps
Good Programming Practices
By the end of this course, you will gain a deep understanding of Unity's fundamental principles and learn how to implement them effectively.
Whether you're a novice or an experienced game developer, this course will equip you with valuable insights and practical skills that will empower you to create your own captivating game experiences. Get ready to embark on a thrilling journey of game development and unlock your potential in the world of Unity!
Let´s start making games!