Gérer ses Textes sous Unity3D

Les textes au sein de Unity ne peuvent pas être stocké dans un ResourceDictionnary : la classe de donnée n’est pas disponible. Toutefois différentes solutions existent.

Il est possible au sein d’unity de référencer facilement des fichiers (textes, son ou même prefab etc.) en les plaçant dans le dossier /Resources. Celui ci est accessible via Unity, Visual Studio ne le référençant pas (VS2019 sur Unity 20182.5.f1).

On peut ensuite les récupérer facilement :

Resources.Load("MonFichier");

Ainsi, le fichier « MonFichier.ext » sera chargée, la méthode retournant un object. Il faudra le caster dans le format désiré pour s’en servir (pour un .txt, caster en TextAsset).

Afin de gérer les textes, différentes méthodes :

  1. Utiliser un fichier Text, avec une utilisation pensée pour la traduction :
    http://www.demonixis.net/gerer-plusieurs-langues-dans-votre-jeu-avec-unity-3d/
  2. Utiliser des fichiers XML, et récupérer leur contenu via la Deserialisation
    https://blog.bfrancois.com/tutoriel-utiliser-les-xml-dans-unity3d/

Dans les deux cas, ils suffira de changer le nom du fichier chargé pour changer de langue.

Sources
  • https://answers.unity.com/questions/59466/loading-xml-file-from-resources-file-after-build.html

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *