Los GameObjects en red son GameObjects que están controlados y sincronizados por el sistema de red de Unity. Al utilizar GameObjects en red sincronizados, puedes crear una experiencia compartida para todos los jugadores que están jugando una instancia de tu juego. Ven y escuchan los mismos eventos y acciones, a pesar de que pueden ser desde sus propios puntos de vista únicos dentro de su juego.
Los juegos multijugador en Unity normalmente se crean usando Escenas que contienen una mezcla de GameObjects en red y GameObjects normales (no conectados a la red). Los GameObjects en red son aquellos que se mueven o cambian durante el juego de una manera que debe sincronizarse entre todos los usuarios que juegan juntos. Los GameObjects no conectados a la red son aquellos que no se mueven o cambian durante el juego (por ejemplo, obstáculos estáticos como rocas o vallas) o GameObjects que tienen movimientos o cambios que no necesitan sincronizarse entre jugadores (por ejemplo , un árbol que se balancea suavemente o nubes que pasan en el fondo de su juego).
Un GameObject en red es uno que tiene un componente Network Identity adjunto. Sin embargo, un componente de Network Identity por sí solo no es suficiente para que tu GameObject sea funcional y activo en su juego multijugador. El componente de Network Identity es el punto de partida para la sincronización y permite al administrador de red sincronizar la creación y destrucción de GameObject, pero aparte de eso, no especifica * qué propiedades* de su GameObject debería ser sincronizado.
Lo que debe sincronizarse exactamente en cada GameObject en red depende del tipo de juego que estés haciendo y de la finalidad de GameObject. Algunos ejemplos de lo que puede querer sincronizar son:
La posición y rotación de GameObjects en moviemiento como los personajes jugadores y no jugadores.
El estado de animación de un GameObject animado
El valor de una variable, por ejemplo, cuánto tiempo queda en la ronda actual de un juego, o cuánta energía tiene un jugador.
Algunas de estas cosas se pueden sincronizar automáticamente por Unity. La creación y destrucción sincronizada de GameObjects en red es administrada poruun NetworkManager, y se conoce como Spawning. Puede usar el componente Network Transform para sincronizar la posición y la rotación de un GameObject, y puede usar el componente Network Animator para sincronizar la animación de un GameObject.
Para sincronizar otras propiedades de un GameObject en red, necesita de programación. Consulte State Synchronization para obtener más información al respecto.