using Mirror; using UnityEngine; public class ChatNetworkManager : NetworkManager { [SerializeField] private GameObject chatPrefab; public override void OnClientConnect() { base.OnClientConnect(); // no client-side Instantiate here when using server-spawned approach } public override void OnServerAddPlayer(NetworkConnectionToClient conn) { // keep default player spawn base.OnServerAddPlayer(conn); if (chatPrefab != null) { var chatInstance = Instantiate(chatPrefab); NetworkServer.Spawn(chatInstance, conn); } } }