TCG Engine – Online Card Game
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.
by Indie Marc
★★★★★ star rating
Price History +
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 published 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
*Audio 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.
Documentation
Tutorials
Support & Community
Games made with this engine