Article original – The knights of unity – How to customize Unity script templates
Au moment de créer un nouveau script, l’éditeur Unity génère une base de script et si c’est en C#, le nom du fichier sera le nom de la classe.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using UnityEngine; using System.Collections; public class NomFichier : MonoBehaviour { // Use this for initialization void Start() { } // Update is called once per frame void Update() { } } |
C’est une bonne façon de commencer, mais si cela fait un moment que vous travaillez sur Unity, vous avez déjà votre propre style et vous savez comment devrait être un script pour commencer à coder. Le template du script inclut les tabs ou espace, les caractères de fin, le namepsace, les commentaires, etc. . Modifiez tout cela au début de chaques nouveaux scripts peut être très chronophage et un peu ennuyeux.
Ce que vous ne savez peut être pas à propos de ces templates c’est qu’ils peuvent être modifiés ! Vous pouvez les trouver ici :
Windows : C:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates
macOS : /Applications/Unity/Unity.app/Contents/Resources/ScriptTemplates
Si vous allez dans le dossier sur Windows, vous allez trouver cette liste :

Liste des templates
Bien sûr nous n’allons pas changer tous ces templates, mais seulement celui qui nous intéresse. Par exemple, si vous voulez avoir un script C# différent, vous n’avez qu’à modifier le fichier 81-C# Script-NewBehaviourScript.cs.txt et laisser le reste des fichiers comme ils sont.
Je vous conseil de faire une copie du fichier avant de le modifier.
Voici le fameux fichier 81-C# Script-NewBehaviourScript.cs.txt sans aucune modification.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using UnityEngine; using System.Collections; public class #SCRIPTNAME# : MonoBehaviour { // Use this for initialization void Start() { } // Update is called once per frame void Update() { } } |
Vous pouvez changer ce que vous souhaitez, mais souvenez-vous qu’il faut laisser le nom de la classe #SCRIPTNAME# comme il est. Sans ce nom, la nouvelle classe ne sera pas générée par l’éditeur Unity avec le nom du fichier que vous viendrez de créer.
Voici un exemple d’un template C# modifié :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
/* * Copyright (c) The Knights of Unity * http://www.theknightsofunity.com/ */ using UnityEngine; public class #SCRIPTNAME# : MonoBehaviour { #region Public Fields #endregion #region Unity Methods void Start() { } void Update() { } #endregion #region Private Methods #endregion } |
L’auteur y a ajouté un header avec le nom de son site et un copyright, il a retiré le using System.Collections; car il n’utilise pas systématiquement une collection dans ses classes et il a rajouté des regions rétractables pour améliorer la lisibilité du code.
/ ! \ attention / ! \ il faut modifier le fichier avec un logiciel comme Notepad++ ou VisualStudio et pas avec le blocnote ou wordpad
Après avoir modifié le template, relancez Unity3D et profitez de votre nouveau template.
Soyez certain de faire une copie du fichier de départ avant de le modifier. Les ficihers originaux seront nécessaires si le template que vous avez créé n’est pas correctement reconnu par Unity. Faites également une copie de votre template en dehors du dossier de templates car au moment de la mise à jour d’Unity, les fichiers vont être écrasés.