|Important: UNet is a deprecated solution, and a new Multiplayer and Networking Solution (Netcode for GameObjects) is under development. For more information and next steps see the information on the Unity Netcode for GameObjects website.|
There are two kinds of users for the Networking feature:
Unity’s networking has a “high-level” scripting API (which we’ll refer to as the HLAPI). Using this means you get access to commands which cover most of the common requirements for multiuser games without needing to worry about the “lower level” implementation details. The HLAPI allows you to:
Unity’s networking is integrated into the engine and the editor, allowing you to work with components and visual aids to build your multiplayer game. It provides:
Unity offers Internet Services to support your game throughout production and release, which includes:
We include a Real-Time Transport Layer that offers:
Unity’s networking implements simple built-in authentication features which provide basic support for validating sessions, but is not a robust authentication solution.
Robust authentication can be an important factor in developing a multiplayer project, as it helps to prevent malicious users from hijacking player sessions, impersonating other users, disconnecting legitimate players from games, or other malicious actions specific to your game or app.
Because Unity only provides simple built-in authentication, if you require robust protection against malicious actions in your game or app, you should use 3rd party authentication and encryption solutions, or implement them yourself using plugins such as this reference implementation and the NetworkTransport API.
You can also dig into our multiplayer sample projects to see how these features are used together. The following sample projects can be found within this Unity Forum post: