Hello! I am glad to announce the release of CCG Kit: Asset Store link: http://u3d.as/naa 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. The key goals of CCG Kit are the following: Server-authoritative multiplayer by default. Leverage UNET. High-quality, well-documented code. Release often. Let's dive into the reasoning behind each of these goals in more detail. Server-authoritative multiplayer by default 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. Leverage UNET Unity is a great game engine and the release of UNET has made it even better. Developing a multiplayer game is a big endeavor and we want to provide a reasonable entry point that does not require users to setup a complex server stack unless they want to. By default, the kit requires no dedicated server and uses Unity Multiplayer Services for matchmaking. This is probably the best option if you are starting out with multiplayer development or want to get something up and running as fast as possible, but the kit is also prepared to support running on a dedicated server if you want to by providing a complete integration with Master Server Kit (Master Server Kit needs to be purchased separately). Having used UNET it since its release, we can confidently say it is getting better with every update and already is a great networking library that integrates very well with the rest of the Unity ecosystem. UNET is the future and we are ready and prepared to keep up with its development. 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. Release often We release new updates often to improve and extend the kit's functionality. Our vibrant user community is always suggesting new ideas for the future and we listen carefully to each and every one of them. We maintain a private GitLab repository available to customers where you can see what we are currently working on and also keep track of ideas for future improvements and research. You can vote and comment on any of the items and we definitely welcome you to do so! Our ultimate goal is to contribute to the creation of a community of developers interested in collectible card games. We want to help you make your dream CCG/TCG come true! Please do not hesitate to ask me any questions or provide any comments/suggestions! I will be happy to answer.