Build a casual co-op multiplayer game using the recommended Unity multiplayer services and packages.
Read time 1 minuteLast updated 10 hours ago
Casual co-op games center friendly teamwork and communication. Common game types are collaborative puzzle games, group exploration, and co-op platformers.To automatically install all the recommended Unity multiplayer services and packages for a casual co-op multiplayer game, use the Multiplayer Center.
Connecting players
Recommended package: Multiplayer Services SDK.The Multiplayer Services SDK provides a unified API to access Unity's multiplayer services, including multiplayer session management, hosting game sessions, matching players together, browsing games and inviting friends.
Networking
Recommended packages: Netcode for GameObjects and Unity Transport.Because casual co-op games often have a small number of players and don't require real-time synchronization of all game state information, you can use a client-host architecture where one player acts as the host and the others connect as clients. Netcode for GameObjects provides built-in support for client-host architecture and is a good fit for casual co-op games. Netcode for GameObjects also supports a distributed authority network topology, which you can use to distribute authority over different game objects among the players to optimize performance and reduce latency.Unity Transport is the default transport layer for Netcode for GameObjects and provides a low-level API for sending and receiving data over the network. It supports both reliable and unreliable communication, which can be useful for different types of game state information in a casual co-op game.
Development and testing
Recommended packages: Multiplayer Tools and Multiplayer Play Mode.When developing a multiplayer game, you can use the Multiplayer Tools to visualize, debug, and optimize your game. The Multiplayer Play Mode package allows you to test your multiplayer game in the Unity Editor by simulating multiple players and network conditions on a single local development machine.