Unity Card Battler – Code a Deck-Building Card Game in C# by GameDev.tv Team
Duration:6.5 hours on-demand video
Actual Duration:6h 17m
Release date:2026
Publisher:Udemy
Skill level:Intermediate
Language:English
Exercise files:Yes
Software:Unity 6, C#
Course URL:https://www.udemy.com/course/unity-card-battler/
Build a fully playable PvE card battler in Unity 6. You’ll create a working deck, a responsive player hand, and a turn-based combat system where a boss hits back. The course focuses on clean architecture from day one—using ScriptableObjects for data-driven cards and C# Events to keep systems decoupled. No spaghetti code, just a solid foundation you can extend into your own game.
🎯 What you’ll learn
- Build a complete PvE card battler in Unity 6 with deck, hand, discard pile, and turn-based combat.
- Use ScriptableObjects to create a data-driven card system where one prefab renders every card.
- Decouple gameplay systems with Unity Events so damage, sound, animations, and turn management respond independently.
- Implement drag-and-snap card movement, hover scaling, and correct card ordering across all piles.
- Create a deck builder scene where card selections persist into combat.
- Build a turn-based loop with player and boss turns, health bars, action locking, and Fisher-Yates shuffle.
✅ Requirements
- Skills: Intermediate Unity and C# skills—comfortable creating scripts, using the Inspector, and navigating the editor. Working understanding of object-oriented programming: classes, objects, inheritance, and encapsulation.
- Tools: VSCode or another code editor installed and ready to use.
📝 Description
Love card games like Slay the Spire? This course walks you through building a fully playable PvE card battler in Unity 6. You’ll create a working deck, a player hand that feels responsive, and a turn-based system where a boss fights back.
The core challenge in any card game is architecture. How do all the pieces talk to each other without turning into a tangled mess? This course answers that question head-on. You’ll use ScriptableObjects to make every card data-driven—one prefab renders every card in the game. Then you’ll leverage C# Events to keep your systems clean and extensible. Damage, sound, animations, and turn management all respond without tight coupling.
The course goes beyond combat. You’ll build a full deck builder scene where you browse your card collection and customize your deck. Those choices persist into combat—the deck you build is the deck you fight with.
By the end, you’ll have a polished, playable game. Drag a card onto the field, hear the sound fire, watch the visual effect play, see the card slide to the discard pile, and watch the boss react. You built every piece of that, and you’ll know exactly how to do it again.
🧑🎓 Who this course is for
- Intermediate Unity developers who want to build a sophisticated project and learn scalable, event-driven architecture.
- Game developers who love card games like Slay the Spire and want to build their own from scratch.
- Unity developers working on turn-based games who want to structure their code properly from the start.
🧑🏫 About the Author
The GameDev.tv Team is a well-known name in game development education. They’ve taught hundreds of thousands of students across Unity, Unreal, and Godot. Their courses focus on practical, project-based learning—you build real games, not just isolated exercises. They’re known for clear explanations, solid architecture, and a community that actually helps each other.
🏁 Final Result
- A fully playable PvE card battler with a working deck, hand, discard pile, and turn-based combat.
- A deck builder scene where card selections persist into combat.
- A clean, event-driven codebase you can extend with new cards, mechanics, and enemies.

Channel