I follow a tutorial on youtube to create your multiplayer games and then for some time there is this error that appears I do not know where the problem comes from. Link video: the error in question: A game object can only be in one layer. The layer needs to be in the range [0...31] UnityEngine.StackTraceUtility:ExtractStackTrace () Util:SetLayerRecursively (UnityEngine.GameObject,int) (at Assets/Scripts/Util.cs:7) Util:SetLayerRecursively (UnityEngine.GameObject,int) (at Assets/Scripts/Util.cs:11) Util:SetLayerRecursively (UnityEngine.GameObject,int) (at Assets/Scripts/Util.cs:11) Util:SetLayerRecursively (UnityEngine.GameObject,int) (at Assets/Scripts/Util.cs:11) WeaponManager:EquipWeapon (PlayerWeapon) (at Assets/Scripts/WeaponManager.cs:49) WeaponManager:Start () (at Assets/Scripts/WeaponManager.cs:20) PlayerSetup: Code (CSharp): using UnityEngine; using Mirror; [RequireComponent(typeof(Player))] [RequireComponent(typeof(PlayerController))] public class PlayerSetup : NetworkBehaviour { [SerializeField] Behaviour[] composentsToDisable; [SerializeField] private string remoteLayerName = "RemotePlayer"; [SerializeField] private string dontDrawnLayerName = "DontDraw"; [SerializeField] private GameObject playerGraphics; [SerializeField] private GameObject playerUIPrefab; [HideInInspector] public GameObject playerUIInstance; private void Start() { if(!isLocalPlayer) { DisableComponents(); AssignRemoteLayer(); } else { Util.SetLayerRecursively(playerGraphics, LayerMask.NameToLayer(dontDrawnLayerName)); playerUIInstance = Instantiate(playerUIPrefab); PlayerUI ui = playerUIInstance.GetComponent<PlayerUI>(); if(ui == null) { Debug.LogError("Pas de component Player UI sur playerUIIinstance"); } else { ui.SetController(GetComponent<PlayerController>()); } GetComponent<Player>().Setup(); } } public override void OnStartClient() { base.OnStartClient(); string netId = GetComponent<NetworkIdentity>().netId.ToString(); Player player = GetComponent<Player>(); GameManager.RegisterPlayer(netId, player); } private void AssignRemoteLayer() { gameObject.layer = LayerMask.NameToLayer(remoteLayerName); } private void DisableComponents() { for (int i = 0; i < composentsToDisable.Length; i++) { composentsToDisable[i].enabled =false; } } private void OnDisable() { Destroy(playerUIInstance); if(isLocalPlayer) { GameManager.instance.SetSceneCameraActive(true); } GameManager.UnregisterPlayer(transform.name); } }