Vous en avez assez de ne plus vous y retrouver avec vos variables dans l'éditeur Unity ?
A quoi sert cette variable ?
Découvrez les attributs Unity et gagnez en lisibilité sur vos composants.
Prérequis : utilisation des variables
Niveau : débutant
Organisez vos composants
Comme vous le savez surement, toutes les variables déclarées en "public" dans un script, seront visibles une fois dans l'éditeur de Unity. Ainsi en utilisant beaucoup de variables, on peut vite se retrouver perdu...Il faut donc organiser ses variables afin d'avoir plus de lisibilité sur les composants dans l'éditeur.
Dans ce tutoriel nous allons voir comment utiliser les attributs Unity suivants : HeaderAttribute, SpaceAttribute et TooltipAttribute.
Prenons un script initial en C# qui sera notre base de départ.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class HowAttribute : Monobehavior{
public int health = 2;
public Text healthUI;
public string pseudo;
public Button newSkinUI;
}
Si on assigne ce script à un GameObject et que l'on regarde l'Inspector dans l'éditeur, on voit bien les variables du script.
On remarque qu'elles sont dans l'ordre (haut vers le bas) de leur déclaration dans le script C#.
Comme on peut le voir tout est mélangé, mais cela on peut le corriger en changeant l'ordre de déclaration des variables dans le script C#.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class HowAttribute : Monobehavior{
public int health = 2;
public string pseudo;
public Text healthUI;
public Button newSkinUI;
}
A ce stade c'est un peu mieux, mais on a ici aucun information utile, ou d'aide au paramétrage. Voyons comment mieux faire à l'aide du HeaderAttribute et du SpaceAttribute.
Plongeons un peu dans la documentation Unity.
HeaderAtttribute
class de UnityEngine/Hérite de: PropertyAttribute
Description
Ajouter cet attribut pour indiquer un entête au dessus des variables de votre choix, dans l'Inspector de Unity.
Cet entête utilise un DecoratorDrawer.
[Header("Le titre de votre choix")]
public int health = 0;
SpaceAttribute
class de UnityEngine/Hérite de: PropertyAttribute
Description
Utiliser cet attribut pour ajouter de l'espace vertical, entre vos variables dans l'Inspector de Unity.
Cet attribut utilise un DecoratorDrawer.
public int health = 0;
public int maxHealth = 100;
[Space(10)] // on crée ici un espace vertical de 10px
public int shield = 0;
public int maxShield = 0;
Mise en application
Ici nous allons mettre directement en application la théorie en ajoutant dans notre premier script, de l'espace entre les variable UI et les autres. Puis nous ajoutons un titre pour chaque section.
Voici le code résultant.
public class HowAttribute : Monobehavior{
[Header("Variables vitales du player")]
public int health = 2;
public string pseudo;
[Space(20)]
[Header("Variables liées à l'IHM")]
public Text healthUI;
public Button newSkinUI;
}
C'est tout de suite mieux non ?
Mais on peut ajouter une description plus complète à l'aide des tooltips ...
TooltipAttribute
class de UnityEngine/Hérite de: PropertyAttribute
Description
Cet attribut permet d'indiquer une information lorsque la souris survole la variable dans l'Inspector.
Cet attribut utilise un DecoratorDrawer.
[Tooltip("Santé comprise entre 1 et 100")]
public int health = 0;
Essayez donc maintenant de placer des informations utiles et regardez le résultat dans l'éditeur.
Cette première introduction sur les attributs de l'éditeur Unity touche à sa fin.
Vous savez maintenant comment améliorer la lecture de vos composants.
Pour aller encore plus loin: