Learn To Code Trading Card Game Battle System With Unity 3D

Learn To Code Trading Card Game Battle System With Unity 3D

Learn To Code Trading Card Game Battle System With Unity 3D

A comprehensive and easy to learn guide to crate a trading card game battle system with Unity 3D.

Language: english

Note: 4.3/5 (1,193 notes) 55,489 students

Instructor(s): Sandor Kiss

Last update: 2019-10-27

What you’ll learn

  • Create beautiful custom cards and creatures for your game
  • Show enlarged previews when you are hovering over a card or a creature
  • Enable card rotation and design a custom card back
  • Highlight cards that your players can play and creatures that can attack this turn with glows around their border
  • 2 different ways to drag cards in trading card games: just dragging cards onto the battlefield area to play them, or dragging onto a specific target to cast spell or attack with creatures
  • Show targeting gizmo with an arrow and a target icon when attacking with creatures or casting spells
  • Create adaptive layouts for your player’s hand and table areas. We are not using pre-determined places for cards. All the creatures and cards will always remain centered
  • Make a Hearthsone-styled mana pool with 10 mana crystals. Players start the game with 0 mana and in the start of each turn they will receive 1 mana crystal
  • Create framed Hero portraits and round Hero Power buttons
  • Create a burning rope that will measure time left until the end of the turn
  • Create decks with variable thickness. The more cards your deck contains – the thicker it looks
  • Separate Visual and Logical part of your game (aka server – game client)
  • Create a simple system to manage, edit and create new cards, creatures or Hero classes
  • Manage turns in trading card games
  • Establish the most basic game mechanics of playing creatures and attacking opponent’s creatures or opponent’s Hero
  • Create custom effects for your spells and Hero Powers
  • Create diverse creature effects that might be triggered: when the creature enters the battlefield, when the creature dies, when the turn starts or ends or even when certain events occur in the game (like: when your Hero takes damage, draws a card, etc…)
  • Determine “game over” conditions and show some end game animations or events
  • Create a simple computer AI that will control opponent’s Hero



  • First couple of Sections in this course are very beginner friendly. In these Sections we spend most of the time working in Unity Editor. So anyone can learn how to make and rotate cards, create other visual elements that are used in this game.
  • In Sections 4-6 we use some advanced scripting techniques to establish all the processes that happen in our game Logic, write AI scripts and so on. So for the final lectures of this course it is best if you have some previous experience with C#. I try to explain everything that I am doing as much as I can.
  • You should install the latest version of Unity3D to work on this course and open example projects that are provided with this course (to develop this game I used Unity 5.4 beta, so any version of Unity after 5.4 will do).



This course provides a full guide on trading card game battle mechanics.

The material in this course is divided into 6 Sections. Section 1 features a short introduction to the course. 

In Section 2 we will focus on making cards. We will use Unity UI features to create both faces and card backs of our cards. Spell cards and creature cards will be designed a bit differently. Creature cards will have distinctive oval frames around creature images. You will learn how to rotate cards that are made with Unity UI properly. We will do some scripting to make a simple system that will allow us to create and edit our cards as assets in Unity.

In Section 3 we will continue working on different visual elements: mana pools, rope timer, hero portraits, end turn button and so on. By the end of this Section we will assemble a visual layout of our Battle Scene that our players will see in the final version of the game. We will also explore several scripts that will help us drag cards in the game, organize and display enlarged previews of cards and creatures.

In Section 4 we will prepare our project for bringing in all the scripts that will handle Logic in our game. We`ll start by taking a look at a small slideshow that will explain the relationship between Visual and Logical parts of our game. We`ll add several new Visual features – Damage Effects that will display amounts of damage taken by creatures or heroes in the game, a simple system that will show messages in the start of each turn and targeted dragging for spell cards and creature attacks.

Section 5 is the most complicated Section of this course in terms of scripting. We`ll bring all the remaining scripts, including all the Logic scripts into our project. Our goal for this Section is to establish the most basic game mechanics of drawing cards from deck, playing creatures onto the battlefield and attacking either our opponent`s hero or his creatures. We will also discuss turn management and test our burning rope timer.

In the final section of this course you will learn to create spell and creature effects for your game. Creature effects might be caused when the creature enters the battlefield, when the creature dies, when the turn starts or ends or even when certain events occur in the game (like: when your Hero takes damage, draws a card, etc…). We will also take a look at a simple AI script that will control our opponent`s behavior and let us play this game against the computer.

I have tried to save the project that I was working in as often as I can so that you can easily pick up the material from any point in this course. All these assets that are used to create cards, creatures, hero powers and other game elements are free for commercial use and available for download with this course. You can find detailed info on art and scripting assets and links to some other useful resources in the Credits file that you can download with this course.


Who this course is for

  • This course is for trading card game enthusiasts and for people who are interested in making card games like Hearthstone and Magic the Gathering. It will help you both build your own trading card game and explore what happens behind the scenes in your favorite trading card games.


Course content

  • Introduction
    • Introduction to This Course
    • How to Watch This Course
  • Cards
    • Introduction to Section 2
    • Preparation
    • Creating a Card Template with Unity UI
    • Simple Decorations
    • Creating a Face Side for a Spell Card
    • Creating a Card Back and Adding Beautiful Text Outlines
    • Card Rotation
    • Editing Cards with Scriptable Object Assets
    • Applying the Visual Appearance from a Card Asset onto a Single Card
    • Card Glow and Creature Cards – Part 1
    • Card Glow and Creature Cards – Part 2
  • Battle Scene Visual Layout
    • Introduction to Section 3
    • Simple Dragging Script
    • Advanced Dragging Script
    • Creating Card Previews – Part 1
    • Creating Card Previews – Part 2
    • Making a Creature Game Object
    • Making a Mana Pool – Part 1
    • Making a Mana Pool – Part 2
    • Making Player Portraits – Part 1
    • Making Player Portraits – Part 2
    • Creating a Burning Rope Timer
    • Creating a 3D Deck with Variable Thickness
    • Assembling the Battle Scene Layout
    • Organizing Cards and Creatures
  • Preparing To Introduce Logic Scripts To Our Game
    • Introduction to Section 4
    • Separating Visual Presentation from Logic
    • Introduction to Command System
    • Command System – A Use Case Scenario
    • Applying Visual Looks from a Card Asset onto a Creature
    • Using Character Assets to Create Class Cards
    • Applying the Info Stored in Character Asset to Player’s Portrait
    • Damage Effects – Part 1
    • Damage Effects – Part 2
    • Targeting System – Introduction
    • Targeting System – Troubleshooting and Testing
    • Message Manager
  • Basic Game Mechanics
    • Introduction to Section 5
    • Adding All the Remaining Scripts
    • Assembling Game Logic and Deck Shuffling
    • Dragging Scripts and GlobalSettings.cs
    • Turn Manager Script
    • Rope Testing and Unity Events
    • Card Scripts and ID System
    • Creature Script
    • Configuring Player Areas
    • Table Script
    • Hand Script
    • Command System – Scripts of Individual Commands
    • Decision Making in Dragging Scripts
    • Testing Card Draw
    • Testing Playing Creatures and Dragging Attack Target
    • Testing Start Game Sequence
    • Testing All the Basic Game Mechanics
  • Advanced Game Mechanics
    • Introduction to Section 6
    • Spell Effects and Hero Power Effects
    • Creature Effects – Part 1
    • Creature Effects – Part 2
    • Game Over Condition and Restarting the Game
    • Computer AI
    • Player Class: Detailed Overview – Part 1
    • Player Class: Detailed Overview – Part 2
    • Conclusion
  • Bonus Section / Downloads Section
    • Credits
    • Saved Projects
    • All Scripts
    • Slides
    • Additional Materials


Learn To Code Trading Card Game Battle System With Unity 3DLearn To Code Trading Card Game Battle System With Unity 3D

Time remaining or 926 enrolls left


Don’t miss any coupons by joining our Telegram group 

Udemy Coupon Code 100% off | Udemy Free Course | Udemy offer | Course with certificate