Game Development


Learn How to Make Trading Card Game Menus With Unity 3D

A full guide on menus and collection management in trading card games with Unity 3D.

4.20 (119 reviews)

Learn How to Make Trading Card Game Menus With Unity 3D



7.5 hours


Dec 2019

Last Update
Regular Price

What you will 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.


This course provides a full guide on trading card game menus. In the video Lectures we cover only the process of making menus, collection browsing, deck building, pack opening, etc… But the battle mechanics part is also included into the Unity project that is provided with the course. So, you`ll have an opportunity to play the game with the cards that you create yourself or even use this application as a foundation for your own trading card game.

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

Since the Unity project that we are developing in this course can be treated as an extension of the course that we have made earlier about card game battle mechanics, in Section 2 we will make a recap of the techniques that we use in both courses to store cards in the project. You will learn about ScriptableObjects and ScriptableObject assets and how you can use them to store cards in your project. We`ll take a look at a very useful script CardCollection.cs that will be used in the project to filter the cards in our collection and get certain sub-sets of cards that satisfy certain criteria. In the last Lecture of Section 2 we`ll do some UI work in Unity and assemble the general layout of our menu scene.

Section 3 will be entirely dedicated to buying and opening booster packs with cards. It makes sense to make the card pack opening part early in the course because it`s both the most exciting part of the project and at the same time the most isolated from other code. We`ll create a separate screen for the shop / pack opening area and explore all the scripts that make it possible to buy and open card packs. We`ll cover advanced topics like: drag and drop code for the unopened packs, using DOTween to automate movement of unopened packs and cards that we get from packs, displaying hover over effects, generating cards of certain rarity based on customizable probability coefficients. By the end of this Section we`ll have a fully functioning pack opening screen for this project.

In Section 4 we will start making the collection screen – the most complicated screen in the menus for any trading card game. Our goal for this Section is to be able to launch the game and see the cards laid out in a grid on the collection screen, be able to use pagination buttons and switch pages in the collection, be able to use all the custom filters (mana, keyword, belonging to one of the character classes) to filter the card collection and display certain sub-sets of our collection.

In the final section of this course we will continue exploring our collection screen and cover more advanced objects that are featured on the screen: crafting screen that allows us to craft new cards for one of the in-game currencies, scrollable lists with deck icons and card icons that will be displayed on the side of our deck building screen. We will discuss the topic of transferring data between the scenes and being able to use the deck that your players have pre-configured in the battle scene. In the final lecture of the course I`ll demonstrate how you can set up a game against a simple AI opponent. We saved the project a couple of times while we were making the course and you`ll have these saved projects available for download. I would recommend to download the final project first, check out how it works and start your exploration of this app from the final version. All the art assets that are used to create cards, creatures, hero powers and other game elements are free for commercial use. 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 (included in the root of the Assets folder in any of the saved projects).



Introduction to the Course

Saved Projects

Card Collection and Main Menu Layout

Introduction to Section 2

Storing Cards as ScriptableObject Assets: Part 1

Storing Cards as ScriptableObject Assets: Part 2

The CardCollection class: Part 1

The CardCollection class: Part 2

Making a Menu and Establishing the Scene Layout

Pack Opening

Introduction to Section 3

Making the Money and Dust or Spare Parts HUD

The ShopManager Script

Making a Layout of the Pack Opening Screen

Pack Opening Screen Adjustments and Overview of Dragging

Custom Scripts for Pack Dragging and Pack Opening

Prefabs of Creature and Spell Cards from Packs

Connecting Everything in Unity and Testing Pack Opening

Inspecting the PackOpeningArea Script

Browsing the Card Collection

Introduction to Section 4

Collection Window Layout

Mana Filter

Crafting Toggle and Keyword Filter

Character Tabs for Collection Filtering

Character Tabs Scripts

CollectionBrowser Script: Part 1

CollectionBrowser Script: Part 2

Pagination Buttons and Collection Card Prefabs

Deck Building Screen

Fixes for Deck Building Screen

DecksStorage Script

Browsing the Card Collection

Introduction to Section 5

Crafting Screen

Character Selection Screen

HeroInfoPanel and Transmitting Data to the Next Scene

Deck Selection Screen

Scrollable Lists of Decks and Cards in Collection

Scripts that Control the List of Pre-Made Decks

Scripts that Control the List of Cards in Deck



Fu7 October 2020

Good course, but not quite at the same level as the first one in this series. The menu system provided here is not exactly flexible, but it is decently robust, so it is an excellent launchpad for creating your own.

Ahmet20 April 2020

Maybe it describes a very difficult feature, but it is based on a pre-coded project. I wanted to see how it's done step by step. After coding such a huge project, I will explain it in a day, my friend. The important thing is to build and understandably demonstrate and educate.

Luis4 December 2019

For the course you get a working TCG Menu System, wich is fine for the price. But for me most of the time the lectures only show the scripts that are already implemented. For me would better the implementation process of all code to understand the overall of the app.

Mateus6 October 2019

Thanks soo much, that help me! That's my first 100% Class, i gona make my first game, and i hope is gona be good because of you, sorry if i speak wrong, i from Brasil. You are the Best! :D

Joon8 April 2019

https://www.udemy.com/learn-to-code-trading-card-game-battle-system-with-unity-3d/learn/lecture/5755808?start=165 https://www.udemy.com/learn-how-to-make-trading-card-game-menus-with-unity-3d/learn/lecture/8261924?start=15#overview In all honesty; I don't know how any of these courses could fit anyone's needs. The title is learn to code trading card game battle systems with unity 3d. He has you start by creating a 2D template. (First issue on why I do not believe this teacher is a little confused) Secondly, you're not learning to code by grabbing scripts from something. I saw a response where he said it would take 70+ hours to teach someone how to code. WELL, guess what? You're trying to charge $300 for a course. Whether it's a severely discounted price or not, you're not producing the cost value. Additionally, the title is LEARN TO CODE. If you can't teach me how to code then it's a waste. My third point issue, a tie in with the second. When you copy and paste portions of line; you can remember why you're doing it. After you type out the line once, it becomes "saved" somewhere in your brain. When you copy and paste that line, you know why you're doing it. If you copy and paste a script, you've never typed ANY of it, none the less you don't know why you're doing it. There's NO LEARNING involved with copy and pasting a full script like this. To help you better market without getting requests for refunds your titles should be. learn how to copy and paste scripts for MY SPECIFIC trading card game battle system with no full understanding of how it functions in Unity 2d learn how to copy and paste scripts for trading card menus for MY SPECIFIC Trading Card Game with no full understanding of how it functions in Unity 2d There are far more issues than these three; but I have NEVER seen anything quite like this. It almost feels like he had someone else make this "game" picked a few pieces here and there, made a teaching curriculum out of it and is teaching HIMSELF how it works. Also, the "finalized" product at the end of the game menu one, doesn't even work. Also, I'm posting this on the reviews, hopefully others read this before they get there. Just a heads up, when you're teaching someone how to code or really anything for that matter. Your goal is to give them tools to work with later. You're giving them cookies and asking them to make some on their own. You've provided no ingredients or measurements to this recipe; you just gave an over all product. If I wanted something like this, I would've outsourced my code for $40 USD to get fixed in another country.

Adam17 March 2019

You do not learn anything here, he is basically sharing his source code with you. you are also not starting the project from the beginning, you are downloading the project which he already finish and going through the steps with him, feels like lullaby to me. Thanks for the source code though. Surely I will need it in the future. No need to watch sessions at all.

Hussein10 February 2019

Great course. However, I would give it 5 stars if game optimization techniques such as object pooling where used instead of just destroy and instantiate objects.

Zheyuanzhou17 December 2018

I will not recommend anyone buy this course. First, All codes has written and instructor only read the codes line by line. Second the version is 5.4 and the tutorial likes to copy their made in other scene so many canvas size is different not match what we want. Third, very boring teaching style only one voice read the book. Forth, never talk the connection deeply with all scripts. Very disappointed in Udemy

ReEnergize26 September 2018

Very good course about making a TCG menu. Shame it's mostly an example of doing one, not the tutorial how you can do it in many different ways. 90% of those lectures are about descibing a pre-made menu, but the tutor is doing it slowly, step-by-step, showing exactly how every single object work. Worth, if you're looking for a very good course how to build menu according to professional but still scheme.

Lloyd25 May 2018

This instructor has done very well on this course, and answers every question a student asks. There is not one unanswered question. I have taken some Xamarin courses, but this course meets my needs, and exceeds my expectations for what I am after that I may not go back to Xamarin. This (and his card battle course) are excellent, and I highly recommend both of the courses for anyone looking to make a card battle game.

Leonardo10 May 2018

The course should have a warning that states the first course game is outdated and this should be where we start downloading the final project, i lost so much time updating what i made to the first course to fit this course A good point is that the teacher answer the questions fast enough, he help develop the project, but this course is more fit to people with more skill in c#, and it's really hard for begginers with basic knowledge of c#.

Paul15 April 2018

At first, because the instructor does not build the scripts from scratch with you, I had a mediocre opinion. However after pushing through from the end project as he recommends, I am able to make notes using // to truly understand the scripts as he explains them. I actually now find method more efficient, because I am not having to type each line of script and then make notes. Great learning method! I appreciate you explaining each line thoroughly and each part of the inspector so the user truly understands and can manipulate/alter the code afterwards.

Patrik8 April 2018

While the course does provide you with the code necessary to create a menu system for a TCG, however, the code is poorly explained, the instructor never actually writes the code, only goes through it. Also the game has a hard coded feel, it only works on one resolution (the one you create it for). Method names are often too long and overly descriptive.

Zach11 December 2017

Good content, but lectures aren't really taught in a learning format but explaining what the content does.

Anna1 December 2017

Top tier course, probably the best I have ever taken. I am halfway through the course but very impressed about the quality of this training.


Expired7/1/2019100% OFF
Expired9/20/2019100% OFF
Expired12/22/2019100% OFF
Expired1/3/2020100% OFF
Expired1/28/2020100% OFF
Expired2/10/2020100% OFF
Expired2/25/2020100% OFF
Expired2/28/2020100% OFF
Expired3/5/2020100% OFF
Expired3/19/2020100% OFF


Udemy ID


Course created date


Course Indexed date
Course Submitted by

Android PlayStore
Apple Appstore