Erreur "You may not pass in objects that are already persistent"

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Xv2
Messages : 3
Inscription : 09 Nov 2024 00:15

Erreur "You may not pass in objects that are already persistent"

Message par Xv2 » 09 Nov 2024 13:48

Bonjour tout le monde,
Je suis débutant développeur et je me suis lancé sur Unity, j'ai pour cela suivi le tutoriel de " tuto Unity fr" sur youtube.
En arrivant à la partie synchronisation, (qui est la vidéo 5), j'ai remarqué que la console m'afficher l'erreur "You may Not pass in objects that are already persistent" lors du lancement du jeu.

Je pense que cela doit venir de mon fichier PlayerSetup :

Code : Tout sélectionner

 public class PlayerSetup : NetworkBehaviour
{
    [SerializeField]
    Behaviour[] componentToDisable;

    Camera sceneCamera;
    private void Start()
    {
        if(!isLocalPlayer)
        {
            // permet de désactiver tous les components qui ne sont pas au joueur local (pour pas controler tous les joueurs)
            for(int i = 0; i < componentToDisable.Length; i++)
            {
                componentToDisable[i].enabled = false;
            }
        }
        else
        {
            sceneCamera = Camera.main;
            if(sceneCamera != null)
            {
                sceneCamera.gameObject.SetActive(false);
            }
        }
    }

    // appelé quand le comportement de la cam est désactivé 
    private void OnDisable()
    {
        if(sceneCamera != null)
        {  
            sceneCamera.gameObject.SetActive(true); 
        }

    }
}
Le problème, c'est que j'ai du mal à comprendre d'où peut venir l'erreur même si je ne vois pas l'impact de l'erreur dans mon jeu.
Si quelqu'un a une idée, je suis preneur (je précise que j'utilise la dernière version de Mirror)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6434
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Erreur "You may not pass in objects that are already persistent"

Message par boubouk50 » 12 Nov 2024 09:49

Peux-tu donner tout le stack d'erreur stp ?

Cette erreur est peut-être liée à l'éditeur d'Unity mais pas spécifiquement à ton code. C'est pour ça que tu ne vois pas de problème au runtime.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Xv2
Messages : 3
Inscription : 09 Nov 2024 00:15

Re: Erreur "You may not pass in objects that are already persistent"

Message par Xv2 » 14 Nov 2024 17:48

Voila l'erreur :
You may not pass in objects that are already persistent
UnityEngine.StackTraceUtility:ExtractStackTrace ()
UnityEditorInternal.InternalEditorUtility:SaveToSerializedFileAndForgetInternal (string,UnityEngine.Object[],bool)
UnityEditorInternal.InternalEditorUtility:SaveToSerializedFileAndForget (UnityEngine.Object[],string,bool)
UnityEditor.Build.Profile.BuildProfileContext:OnDisable ()

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6434
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Erreur "You may not pass in objects that are already persistent"

Message par boubouk50 » 14 Nov 2024 18:48

As-tu plusieurs Unity ouvert sur le même projet pour tester ton jeu en réseau ?
Si oui, alors c'est pour ça, parce que tu ne peux pas accéder 2 fois aux mêmes données en même temps.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Xv2
Messages : 3
Inscription : 09 Nov 2024 00:15

Re: Erreur "You may not pass in objects that are already persistent"

Message par Xv2 » 17 Nov 2024 20:16

Non l'erreur s'affiche aussi quand je n'ai qu'un Unity ouvert.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6434
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Erreur "You may not pass in objects that are already persistent"

Message par boubouk50 » 18 Nov 2024 10:00

Il semble tout de même que c'est une erreur interne à Unity et pas à ton code.
C'est relativement fréquent, et ça peut disparaître comme c'est apparu, ou bien rester et ne pas perturber le développement parce qu'uniquement présent dans l'éditeur.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « Unity le logiciel »