Deux mois après la démo d’Unreal Engine 5 et sa caverne aux milliards de polygones, Unity sort sa nouvelle version. Unity 2020.1 est disponible depuis le 23 juillet. Pas de statue géante ni de démo sur une console pas encore sortie : cette fois, Unity mise sur l’outillage. Pour une bonne partie des développeurs, c’est sans doute une meilleure nouvelle qu’il n’y paraît.
Unity 2020.1 ouvre une année à deux versions seulement
Premier changement, pas le moindre : le calendrier. Jusqu’ici, Unity publiait trois versions « tech stream » par an avant la version LTS. En 2020, il n’y en aura que deux. Unity 2020.1 sort maintenant, la 2020.2 suivra en fin d’année. La version 2020 LTS arrivera ensuite début 2021, comme d’habitude.
Unity justifie ce rythme par son système de paquets. Une grande partie des fonctions vit désormais dans le Package Manager. On peut donc corriger un outil précis sans attendre une nouvelle version complète de l’éditeur. Les testeurs de bêtas ont aussi plus de temps pour éprouver chaque version. Enfin, les studios qui suivent les versions tech stream n’ont plus qu’une migration tous les six mois, au lieu de quatre.
On peut aussi lire l’annonce autrement : trois versions par an, c’était beaucoup pour tout le monde, à commencer par les équipes de Unity. La qualité des versions intermédiaires faisait souvent grincer des dents sur les forums. Ralentir pour stabiliser n’a rien de honteux.
L’Input System passe enfin en vérifié
Le nouvel Input System était en préversion en début d’année. Il obtient enfin le statut vérifié avec Unity 2020.1. Les studios qui hésitaient à abandonner le vieil Input Manager n’ont plus vraiment d’excuse : le système à base d’actions est officiellement prêt pour la production. Cinemachine, l’outil de caméras procédurales, décroche aussi le statut vérifié.
Pour migrer, rien n’oblige à tout réécrire d’un coup, puisque les deux systèmes peuvent cohabiter dans un même projet. Le composant PlayerInput gère en quelques clics plusieurs manettes à la fois. C’est justement là que l’ancien système montrait ses limites : brancher quatre manettes différentes relevait du bricolage. Les jeux en écran partagé, très prisés des indépendants, devraient donc en profiter les premiers.
Côté interface, le Package Manager fait le ménage. Il distingue désormais clairement les paquets en préversion des paquets vérifiés. Ce n’est pas un détail. Avec des dizaines de paquets aux statuts différents, savoir ce qu’on installe vraiment devenait un sport à part entière. Installer un paquet « preview » sur un projet en production reste une excellente façon de remplir son week-end.
Le Universal Render Pipeline rattrape son retard
Unity 2020.1 apporte le camera stacking au Universal Render Pipeline. La fonction permet d’empiler plusieurs caméras, par exemple pour afficher une arme en vue subjective ou une interface 3D par-dessus la scène. Elle existait dans le pipeline intégré. Son absence dans l’URP bloquait pourtant pas mal de migrations. Les développeurs qui voulaient quitter l’ancien pipeline perdent ainsi l’une de leurs dernières objections.
Le lightmapper progressif profite aussi d’optimisations, avec des précalculs plus rapides sur les grosses scènes. Les artistes qui lancent un bake avant d’aller déjeuner apprécieront. Sur ce point, Unity reste dans une logique de précalcul. La comparaison avec Lumen, qui promet de s’en passer, devient forcément cruelle. Il faut toutefois rappeler que Lumen n’existe pour l’instant que dans une démo. Le lightmapper de Unity, lui, sert dans des milliers de jeux qui sortent vraiment.
Des outils pour le mobile et pour ceux qui ne codent pas
Le Device Simulator, en préversion, simule l’affichage d’un jeu sur différents téléphones directement dans l’éditeur. Résolutions, encoches, zones sûres de l’écran : on vérifie tout sans brancher dix appareils. Pour un studio mobile, c’est le genre d’outil qui fait gagner des heures chaque semaine. Le Profiler gagne également en précision et le Profile Analyzer arrive en préversion pour comparer des captures de performance.
L’autre nouveauté de la semaine dernière ne fait pas partie de l’éditeur. Unity a racheté en mai Bolt, l’asset de script visuel développé par Ludiq. Depuis le 22 juillet, Bolt est gratuit pour tous les utilisateurs de Unity, y compris en licence Personal. Le moteur rattrape ainsi un retard ancien sur Unreal et ses Blueprints, que des générations d’étudiants ont appris avant même le C++. Les game designers et les artistes vont pouvoir prototyper des mécaniques sans attendre un programmeur.
Reste que Bolt est un asset acheté, pas un outil conçu avec le moteur. Il faudra voir comment Unity l’intègre à ses projets de fond, notamment DOTS, toujours en préversion. Le moteur accumule les briques en chantier. Les paquets « preview » se multiplient plus vite que les paquets vérifiés.
Faut-il passer à Unity 2020.1 ?
La règle reste la même qu’en début d’année. Pour un projet en production, Unity recommande la version LTS, aujourd’hui Unity 2019.4. Unity 2020.1 s’adresse aux projets qui démarrent ou à ceux qui ont besoin d’une fonction précise, comme le camera stacking de l’URP. Pour les autres, la prudence reste de mise. La crise sanitaire a d’ailleurs déjà assez compliqué la vie des équipes pour ne pas y ajouter une migration de moteur.
Cette version n’a rien de spectaculaire. Pourtant, elle répond à des demandes que la communauté formule depuis longtemps : un rythme plus lent, des outils stabilisés et un script visuel gratuit. Face à Epic, qui promet des milliards de polygones, Unity choisit de rendre service tout de suite.
Ce pari du concret suffira-t-il quand Unreal Engine 5 arrivera entre les mains des développeurs l’an prochain ?
À lire : Les soldes de printemps débarquent sur l’asset store d’Unity