Aller au contenu principal

Édition multi-scènes facile : charger des groupes de scènes dans l’éditeur ou au runtime en un clic

Barre d’outils multi-scènes : charger un groupe de scènes en un clic

Cet outil permet de charger rapidement un groupe de scènes dans Unity. Il fonctionne dans l’éditeur, mais peut aussi servir en jeu. Il se configure facilement par glisser-déposer, et garde la trace des GameObjects d’une scène à l’autre.

Démonstration​

Ajouter une scène manquante à un groupe et la charger

Dans cette démonstration, la scène des lumières manquait dans le second groupe de scènes. Vous voyez ici à quel point il est simple d’ajouter une scène et de la charger.

Scene Asset Lister​

Un groupe de scènes dans le Scene Asset Lister

Un groupe est composé de plusieurs scènes, qu’on peut glisser-déposer comme dans n’importe quel sélecteur d’assets, avec quelques réglages compacts bien utiles :

  • glisser-déposer uniquement des assets de scène,
  • ajouter au build au dernier index,
  • activer ou désactiver dans le build,
  • afficher les Build Settings,
  • afficher l’état de la scène dans le build : activée, désactivée, absente du build,
  • afficher l’index de build si la scène est dans le build.

Nettoyer les scènes supprimées des Build Settings

Vous avez aussi une fonction bien pratique pour nettoyer les scènes supprimées encore présentes dans les Build Settings.

Garder une référence à un GameObject d’une autre scène​

Grâce aux développeurs d’Unity, j’ai ajouté une fonctionnalité intéressante à ce pack d’outils : la possibilité de garder des GameObjects liés entre des scènes séparées.

Ajouter un GuidComponent​

Un GuidComponent sur une lumière, avec son identifiant enum

On place un GuidComponent unique sur le GameObject à suivre, et on lui assigne un enum pour simplifier son utilisation dans le projet.

Garder un lien vers ce GuidComponent​

Un champ GuidReference qui pointe vers la lumière d’une autre scène

Ensuite, dans n’importe quel script d’une autre scène, créez une référence vers un GuidComponent, et glissez-déposez-le :

[SerializeField]
private GuidReference _referenceLight1;

Unity garde le lien même si les scènes sont fermées puis rouvertes !

info

Le code complet et une démo seront bientôt disponibles sur l’Asset Store. Contactez-moi si ça vous intéresse.

Voir aussi​