TCG Engine is a complete template to create online card games in Unity. It supports both solo play and multiplayer on a dedicated authoritative server.
For more detail this asset from the Unity Asset Store: Click Here
This is a paid asset, but now you can download the “TCG Engine – Online Card Game” for FREE, Please keep in mind this package is provided only for learning purposes or to be able to test before buying the product, NOT FOR COMMERCIAL PURPOSES.
TCG Engine – Online Card Game v1.09
Online Card Game Template for Unity
Features
-Card game gameplay (Play, Attack, Mana, HP, Abilities)
-Solo and Multiplayer
-Desktop and Mobile controls
-User Login and User Database (Web API)
-Dedicated Authoritative Game Server
-Simple Matchmaking
-Card Collection, Pack Opening, In-Game Currency
-Leaderboard and Friend list
-AI made with Minimax algorithm
-Customizable Card Abilities
Structure
There are 3 main app instances:
-Game Client (Unity)
-Game Server (Unity)
-Optional Web API (NodeJS and MongoDB)
Networking Framework
Tcg Engine uses Netcode for Gameobjects, the official Unity Networking framework.
Why TCG Engine over similar assets?
-Tons of extra features (AI, Pack open, User Login, ELO ranking…)
-Cards and Abilities use Scriptable Objects
-Multiple games can run on a single server process
-Run the game in Unity directly from any scene (faster testing)
-Client and Game Server use the same Unity Project
-Game logic uses the same code for: Solo, Multiplayer and AI predictions
-UI and Visuals code is well separated from the core rules and effects code.
-Using the official Unity Networking: Netcode (no 3rd party asset required)
-Secured web api for login uses https and jwt
-Author of this asset has worked on several card games for various clients
-Fast and accessible support on Discord
Current Limitations
-Limited to one or two players per match only
-WebGL build requires 3rd party integration for Netcode to work
-No gamepad support
*Music and SFX from the trailer not included in the asset.
Coding
This is not a no-coding asset. And while cards and abilities can be edited directly from the data files (scriptable objects), you will need to edit the code to add features or change the core game rules. I made the decision to not include any custom editor GUI to keep the code as simple as possible and useable for a varied level of programming skills. I put a high priority on keeping the code clean and well structured. We have a Discord community for people to help each other if you are just starting with coding. And I will be glad to listen to any feedback to improve the code in future versions if needed. More info in the doc.