Version: 2021.1
Multijugador y Networking (redes)
Configurando un proyecto multijugador

Multiplayer Overview

Note: UNet is deprecated, and will be removed from Unity in the future. A new system is under development. For more information and next steps see this blog post.

Hay dos tipos de usuarios para la característica de Networking:

API de scripting de Alto Nivel

El networking (red) de Unity tiene un API de Scripting de “alto nivel” (que nos refiremos a este como HLAPI). Usar esto significa que usted tiene acceso a los comandos que cubren la mayoría de requerimientos comunes para juegos multi-usuario sin la necesidad de preocuparse acerca de los detalles de implementación de “bajo nivel”. La HLAPI le permite a usted:

  • Controlar el estado de red del juego utilizando un “Network Manager” (Administrador de Red).
  • Operar juegos “hosted (alojados) al cliente”, dónde el host es también un cliente jugador.
  • Serializar datos utilizando un serializador con propósito general.
  • Enviar y recibir mensajes de red.
  • Enviar comandos de red de clientes a servidores.
  • Realizar llamados de procedimientos remotos (remote procedure calls-RPCs) de servidores a clientes.
  • Enviar eventos de red de servidores a clientes.

Integración del Motor y el Editor

El networking (redes) de Unity es integrado al motor y el editor, permitiéndole a usted trabajar con componentes y ayudas visuales para construir su juego multi-jugador. Este proporciona:

  • Un componente de NetworkIdentity para objetos en red.
  • Un NetworkBehaviour para scripts en red.
  • Una sincronización automática configurable de los transforms de los objetos.
  • Una sincronización automática de variables de script.
  • Soporte para colocar objetos en red en escenas de Unity.
  • Network components

Servicios de Internet

Unity offers Internet Services to support your game throughout production and release, which includes:

  • Un servicio de cuadrar partidas
  • Crea partidas y les hace publicidad.
  • En lista las partidas disponibles y une a las partidas.
  • Relay server (Servidor de re-transmisión)
  • Game-play sobre el internet sin un servidor dedicado.
  • Enrutamiento de mensajes para participantes de partidas.

NetworkTransport capa de transporte en tiempo real.

Nosotros incluimos una Capa de transprote real que ofrece:

  • Un protocolo basado en un UDP optimizado.
  • Un diseño multi-canal para evitar problemas de head-of-line blockin (HOL)
  • soporte para una variedad de servicios de calidad (Quality of Service - QoS)) por canal.
  • Una topología de red flexible que soporta arquitecturas de persona a persona o de cliente a servidor.

Authentication

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.

Proyectos Ejemplos

Usted también puede mirar nuestros proyectos ejemplo multijugador para ver cómo estas características se utilizan juntas. Los siguientes proyectos ejemplo se pueden encontrar dentro de esta publicación de Foro de Unity:

  • Un juego ejemplo multi-jugador de tanques 2D
  • Un juego tipo “Invaders” multi-jugador con un sistema de encontrar partidas para jugadores (Matchmaking)
  • Un shooter de espacio 2D multi-jugador con un sistema de encontrar partidas para jugadores
  • Un proyecto multi-jugador minimo
Multijugador y Networking (redes)
Configurando un proyecto multijugador