using Unity.Netcode; using UnityEngine; public class PlayerController : NetworkBehaviour { [SerializeField] private Camera playerCamera; [SerializeField] private Camera playerHandCamera; [SerializeField] private GameObject tpvHands; [SerializeField] private GameObject fpvHands; [Header("Colors")] [SerializeField] private Color ownerColor = Color.blue; [SerializeField] private Color otherPlayerColor = Color.red; public override void OnNetworkSpawn() { if (playerCamera != null) { playerCamera.enabled = IsOwner; playerHandCamera.enabled = IsOwner; playerCamera.GetComponent().enabled = IsOwner; fpvHands.SetActive(IsOwner); tpvHands.SetActive(!IsOwner); } if (IsOwner) { Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; } Color playerColor = IsOwner ? ownerColor : otherPlayerColor; foreach (MeshRenderer meshRenderer in GetComponentsInChildren()) { meshRenderer.material.color = playerColor; } } }