décembre 12, 2019
Stéphane Restani

Unity 2019 – what’s new ?

Alors que la sortie de Unity 2019.3 approche pour clore le cycle 2019, nous pensons qu’il serait intéressant de faire un petit récapitulatif de comment notre moteur de jeu favori a évolué durant cette année.

Unity 2019.1

On commence en Avril avec la 2019.1. La démo Megacity nous avait impressionnés ! Avec cette release nous avons pu mettre les mains dans le projet pour voir comment une petite équipe a réussi à créer une gigantesque ville futuriste où des centaines de milliers de véhicules volants se cotoient. L’Entity Component System (ECS), le C# Job System et le Burst Compiler ensemble forment un trio puissant. Nous l’avons essayé dès sa sortie pour une petite simulation de “Flocking”, dans laquelle quelques 20’000 agents volent groupés.

En Avril, nous recevons aussi l’édition de prefabs directement dans l’inspecteur, sans devoir ouvrir le prefab au préalable. Un changement anodin, mais qui améliore grandement l’expérience des designers et des programmeurs.

Un autre gros bloc de fonctionnalité contenu dans 2019.1 est le Lightweight Render Pipeline (LWRP). Un pipeline de rendu allégé, parfait pour les téléphones ou les appareils moins performants. Nous l’explorons durant l’année, mais le support étant encore naissant, nous ne créons pas de projet autour de ce pipeline pour le moment. On apprécie grandement Shader Graph, l’éditeur nodal de shader, qui vient avec le LWRP.

Beaucoup d’autres améliorations nous arrivent aussi en ce mois d’Avril. On peut citer UIElements (qui fera partie d’un post à part entière), le VFX graph, des améliorations sur Timeline, ainsi qu’une pléthore d’améliorations dans l’éditeur.

 

Unity 2019.2​

2019.2, qui nous arrive fin juillet, est une plus petite release en terme de fonctionnalités. Nous apprécions que l’équipe de Unity prenne du temps pour consolider leurs bases. On notera la dépréciation de .NET 3.5 en faveur de .NET 4.x, des améliorations sur “Progressive”, le lightmapper développé par Unity.

 

Unity 2019.3​

Ce qui nous amène en 2019.3, dont la sortie devrait être imminente. Le premier choc quand on ouvre un projet 2019.3 est que l’éditeur est complètement différent: l’équipe a complètement redessiné le look’n’feel. Ceci ne change rien aux fonctionnalités, mais un dépoussiérage ne fait pas de mal.

Nous attendons avec impatience de pouvoir créer un projet d’envergure avec cette version, car elle met à disposition (en preview)  le “Asset Import Pipeline v2”, une ré-écriture complète de système d’import d’assets (fichier graphiques et audio) qui devrait être infiniment plus rapide, tant à l’import initial que lors d’une réimportation qui suit un changement de plateforme. Ce gros travail fourni par Unity devrait sauver des milliers d’heures de développement perdues à attendre que l’éditeur ne charge tous les fichiers.

Le Package Manager a lui aussi reçu beaucoup d’amour, notamment avec un support plus robuste pour les packages custom hébergés dans des repositories git. Nous avons développé quelques extensions dont nous nous servons régulièrement, et jusqu’à présent la manière de les ajouter dans un projet n’était pas idéale. En 2019.3, le support natif pour les clés SSH nous permettra d’ajouter nos extensions facilement de manière sécurisée.

On notera encore qu’il deviendra possible de personnaliser comment l’éditeur recharge le code compilé, pour pouvoir accélérer la boucle “développement-test”. Le High-Definition Render Pipeline (HDRP), le pipeline de rendu réaliste, qui cible des applications plus gourmandes et aux rendus plus pointus, sort de preview, et Unity en profite pour renommer le Lightweight Render Pipeline en Universal Render Pipeline (URP). Cette version amène également un simulateur d’appareils, qui nous permettra de simuler nos jeux et applications mobiles comme s’ils tournaient sur des vrais téléphones, depuis nos machines de développement. De nouveau, ceci va nous permettre d’être plus rapide dans notre développement.

Le système d’“Addressables“ (auquel un article entier sera dédié) sort de preview, et va nous permettre d’être beaucoup plus robuste dans la gestion des prefabs et de contenu extensible.

Update

La version 2019.3 étant maintenant sortie, nous avons pu l’essayer pour de bon. La feature la plus appréciée est l’asset import pipeline v2. Elle nous permet de changer de plateforme beaucoup plus rapidement qu’avant. La nouvelle interface de l’éditeur apporte un peu de renouveau. Elle donne l’impression de travailler sur un outil moderne. Le projet sur lequel nous travaillons est en LWRP. Il nous permet de réaliser l’implémentation graphique telle que nous la voulons, et le pipeline se montre très versatile. Si 2019 a été une année forte en changements pour Unity, le jeu semble en valoir la chandelle. Nous espérons qu’à présent Unity se concentre à consolider et à promouvoir ces nouveaux piliers.

A Unity, on ne chôme pas ! L’année 2019 aura apporté son lot de nouveautés. Elle aura vu naître les bases pour la DOTS (data-oriented technology stack), une ré-écriture du asset import pipeline, les URP/HDRP, ainsi qu’une tonne d’améliorations de l’expérience utilisateur. Si Unity montre clairement sa capacité à créer des nouvelles fonctionnalités, nous aimons plus les voir consolider les bases existantes. Bien que fonctionnelles, elles sont parfois encore  un peu “rough on the edges”. Il faut du temps à chaque nouvelle brique pour qu’elle trouve sa place et soit polie. Nous nous réjouissons aussi de voir Unity prendre du temps pour cela. Vivement 2020 !