Hello! We are glad to announce the release of CCG Kit:
CCG Kit was born out of the realization that there was a distinct lack of high-quality, well-documented information on how to create a multiplayer collectible card game (CCG/TCG) with Unity. After the new networking system in Unity (UNET) was released, bringing facilities directly integrated into the engine to develop multiplayer games, it only made sense to start work on an Asset Store kit for providing a solid foundation for developers to create their own multiplayer collectible card games. With the official deprecation of UNET in 2022, we have completely migrated the kit to Mirror.
The key goals of CCG Kit are the following:
- Server-authoritative multiplayer by default leveraging Mirror.
- High-quality, well-documented code.
Let’s dive into the reasoning behind each of these goals in more detail.
Server-authoritative multiplayer by default leveraging Mirror
Our experience working in the industry for several years shows that, as soon as your multiplayer game reaches a certain mass of players, a subset of them will try to hack it. It is simply going to happen. Cheating in multiplayer games is no fun and hurts the experience of the non-cheater players, so if you want to create a multiplayer game you really want to be serious about this issue from the very beginning. CCG Kit design revolves around the fundamental idea that the server is authoritative, meaning it drives the entire logic of the game and is ultimately the one deciding if any given action is allowed. Clients are therefore reduced to “dumb” terminals that take the player’s input, send it to the server and update the UI accordingly when the server answers back. “Dumb” terminal is a bit of an unfair term, as the client still needs to perform quite a bit of work. Work that actually includes running some of the game logic locally to hide the latency that inevitably exists in any networking scenario in order to present smooth, lag-free visuals to the player. But the important idea here is that the server is always the one in control of the game, and may ultimately override the client’s state if deviations arise.
The kit natively supports running on a dedicated server by providing a complete integration with Dedicated Server Kit (Dedicated Server Kit is included and does not need to be purchased separately).
Unity is a great game engine and the release of Mirror has made it even better. Having used Mirror it since its release, we can confidently say it is getting better with every update and already is a great, proven networking library that integrates very well with the rest of the Unity ecosystem. Mirror is the present and future of networking and we are ready and prepared to keep up with its development and vibrant community.
High-quality, well-documented code that is useful for a wide variety of games
We take pride in our work and aim to deliver excellent code that works, follows good practices and is well-documented. As development on the project progressed, we faced an interesting dilemma as we noticed a lot of elements in the game could be abstracted into more generally useful components. Should we release the game as it stands or try to make it more universal? We finally decided to bite the bullet and cleanly separate the core functionality from the demo/example functionality to pave the way for even more customization opportunities in future releases. Of course, one can think of infinite variations on game rules and card mechanics for a CCG project, so we intend to improve the kit with every release based on your feedback using it in your own games.
Please do not hesitate to ask us any questions or provide any comments/suggestions here! We will be happy to answer. ![]()
