
Advance turn-based rpg game with Unity 6 and C#, learning to build exploration, dialogue, recruitment, combat with abilities and status effects, auto battle, inventory, shops, crafting, and formations.
In this part we are going to create new project and import game asset.
In this part we are going to make script to organize our team and we are learning how to add and remove player member from team.
In this part we are going to create NPC to interact with him and he will join our team if we have enough space inside our team
In this part we are going to learn how to save and load new player members to our list, so when we start the game our player member are the same as we left the game.
Create and wire a battle launcher singleton in Unity to load the battle scene, set up scene management, and trigger battle initialization from a UI button.
In this part we are going to spawn our enemy team inside of battlefield scene
Spawn players and enemies from prefabs at spawn points. Launch the battle via a singleton launcher when the player enters.
In this part we are going to define player team in dictionary list as 0 and enemy as 1, so it help us to have better turn actions like attack all or heal all and ....
In this Part we are going to work player and enemy Stats
Enhance the battle UI by integrating Text Mesh Pro fonts, spell icons, a grid-based spell panel, and poison indicators for health and spell info.
In this part we are going to learn how to shown a sign over our character
in this part we are going to learn how to fade in and fade out inside of battle scene
Create and refine a spell script that defines spell properties, handles single and area targets, applies damage, healing, and poison via a damage multiplier, and animates spell movement toward targets.
Implement and manage the spell panel system in Unity, building a dynamic spell list from the current character, instantiating spell buttons from a prefab, and updating the spell description text.
Implement and refine a Unity character script, handling damage, critical hits, healing, death, floating damage text, enemy UI updates, and basic spell and poison mechanics.
Implement and manage the enemy script in a Unity turn-based RPG, enabling random spell or attack actions, target selection, health updates, poison UI, and enemy removal on death.
Explore a robust battle control system that coordinates player and enemy turns, precise spell targeting via spawn points, poison effects, auto battle, and end battle outcomes in Unity.
In this part after our players defeat enemies they are going to gain experience point and update their stats and save the new stats so in next battle they are going to have new stats.
Build a drag-and-drop formation system in Unity using team member slot and formation manager scripts, event system, and UI, to swap portraits and toggle the formation panel.
In this part we are going to learn how to shake camera when we do critical or die in battle
Create a dialogue box for player–NPC interactions with a dedicated dialogue canvas, portraits, names, and a next button. Utilize TextMesh Pro for crisp dialogue text.
In this part we are going to work on NPC in the way that when we finish talking he is joining the team
In this part we working on our NPC so after he joined the team he will be disabled in the map and with reloading stay disabled
Create and manage an in-game inventory UI in Unity for a turn-based RPG, featuring character slots, weapon and armor slots, item use, XP reward logic, and an item info panel.
Create and configure item data as a scriptable object, defining item types, stats, and stacking to power the inventory system in a Unity turn-based RPG.
Add items to a Unity turn-based RPG inventory by finding the first available non-equipment slot, handling stackable items, and updating the UI.
Learn to implement a complete inventory system in Unity: select, use, equip and unequip items, manage item stats, apply XP and HP/MP increases, and update the character UI.
Activate shopkeeper interaction to open the crafting panel. Use an object activator, detect the player with a 2D box collider and talk icon, and set time scale to zero.
Want to build your own RPG like Final Fantasy, Pokemon, or Octopath Traveler?
In this hands-on course, you’ll create a complete 2D turn-based RPG in Unity from scratch — no prior coding or game development experience required!
This project-based course is ideal for beginners and intermediate developers who want to dive into game development using real mechanics found in commercial RPGs.
You’ll learn step-by-step how to create classic RPG systems including:
Turn-based battle system with player and enemy actions
Health, mana, attack/defense stats, and leveling
Item system and inventory UI
World navigation in map and talk to NPCs
Dialogue system with quest triggers and choices
Save/load functionality for player progress
Build a fully functional 2D turn-based RPG game in Unity using C#
Create turn-based combat systems with enemy AI and skill selection
Design player stats, enemy stats, experience, leveling, and damage formulas
Set up inventory systems, items pick up, and equipment
Animate characters, attacks, and spell effects
Implement save/load systems for player progress
Understand Unity best practices and clean C# coding structure
Gain real-world experience developing a complete game project
Throughout the course, we’ll write clean, scalable C# code, and you’ll gain real-world game dev skills in Unity’s ecosystem.
By the end, you’ll have your own complete RPG game, plus the tools to build your own custom adventures!