Unity 2020.2

Outils destinés aux programmeurs

Améliorez vos flux de production pour la programmation de scripts grâce à Unity 2020.2. Utilisez nos nouveaux outils améliorés destinés aux programmeurs afin d'itérer plus rapidement et d'optimiser vos projets au maximum. 

Nouveautés de Unity 2020.2

Découvrez certaines des améliorations principales et des nouvelles fonctionnalités dédiées aux programmeurs dans Unity 2020.2. Pour en savoir plus, consultez les notes de version.

Prenez de la vitesse grâce à la compilation déterministe

Du fait de la complexité croissante des projets, les modifications de code peuvent prendre plus de temps pour la compilation et affecter la productivité de votre équipe. Unity 2020.2 propose une option de compilation « déterministe » pour les scripts en C#. Cette option vous évite les recompilations inutiles de références de définition d'assemblage (.asmdef) si les métadonnées publiques des assemblages ne changent pas lors de la compilation de scripts pour l'éditeur. Cette option est particulièrement utile pour la diminution des temps d'itération lorsque vous effectuez des modification sur les assemblages qui disposent de nombreuses références directes ou indirectes.

En savoir plus

Support C# 8

Unity 2020.2 prend en charge toutes les fonctionnalités et les améliorations en C# 8 les plus récentes à exception des méthodes d'interface par défaut. Cela comprend les types de références pouvant prendre la valeur null, afin de permettre au compilateur d'indiquer une alerte à chaque fois que vous essayez d'attribuer la valeur null à une variable type de référence. Modifier une expression par un motif correspondant vous permet d'écrire du code conditionnel de façon plus rationnalisée.

Pour une présentation complète des nouveautés pour le langage C# 8, consultez la documentation Microsoft.

C#_8_support.cs (C#)
public static RGBColor FromRainbow(Rainbow colorBand) =>
    colorBand switch
    {
        Rainbow.Red    => new RGBColor(0xFF, 0x00, 0x00),
        Rainbow.Orange => new RGBColor(0xFF, 0x7F, 0x00),
        Rainbow.Yellow => new RGBColor(0xFF, 0xFF, 0x00),
        Rainbow.Green  => new RGBColor(0x00, 0xFF, 0x00),
        Rainbow.Blue   => new RGBColor(0x00, 0x00, 0xFF),
        Rainbow.Indigo => new RGBColor(0x4B, 0x00, 0x82),
        Rainbow.Violet => new RGBColor(0x94, 0x00, 0xD3),
        _              => throw new ArgumentException(message: "invalid enum value", paramName: nameof(colorBand)),
    };
Consultez le Guide Microsoft C# 8

Nom d'espace racine disponible dans les paramètres de définition d'assemblage

Les noms d'espace en C# vous offrent un moyen efficace d'organiser votre code et d'éviter les collisions de dénominations de classe avec d'autres packages et bibliothèques. Le nom d'espace racine est désormais disponible dans un nouveau champ au sein de l'inspector asmdef et utilisé pour ajouter automatiquement un nom d'espace lors de la création d'un nouveau script dans Unity, Visual Studio et Rider.

Pensez à mettre à jour les packages Visual Studio et Rider avec leur nouvelle version si vous avez l'intention d'utiliser cette fonctionnalité.

En savoir plus
Comparaison entre la conversion de temps IL2CPP en série et en parallèle de deux projets avant et après des conversions multithread. La ligne rouge est une démo interne et l'orange représente le projet d'un studio externe.

Compilation plus rapide

Unity 2020.2 dispose d'améliorations notables du point de vue des temps de compilation. Si vous réalisez des modifications qui n'impliquent pas de code, comme par exemple, des matériaux, des shaders ou des prefabs, la conversion IL2CPP des assemblages.NET vers C++ sera totalement abandonnée lors de la compilation de lecteur. 

Dans Unity 2020.2, la conversion IL2CPP bénéficie de processeurs modernes multicœurs en passant d'unique à multithread et en diminuant considérablement les temps de compilations du lecteur IL2CPP en général, selon ce qui est démontré dans les données de projet test ci-dessus. 

En savoir plus

Cohérence du Time.deltaTime

Unity 2020.2 résout les problèmes d'incohérence de valeurs Time.deltaTime qui conduisent à des mouvements saccadés pour les objets lors d'une expérience de jeu. L'interface TimeManager a été revue de façon à avoir des calculs de frame time plus stable et obtenir ainsi des mouvements d'objet plus fluides lorsque le jeu est exécuté à une fréquence d'image stable. Unity 2020.2 prend en charge ces améliorations de stabilité de temps sur iOS, macOS, la PS4, la Switch, tvOS, UWP, Windows et la Xbox One. Les améliorations sur Android, Windows/Linux, Vulkan et réalité étendue sont prévues pour plus tard. Consultez l'article de blog pour en savoir plus.

En savoir plus
Il semble que l'optimisation générale constatée correspond à une vitesse 12 à 800 fois supérieure lors du traitement de 100 à 5 000 importateurs (pour l'amélioration générale, consultez le graphique sur la droite).

Amélioration des performances

Unity 2020.2 propose plusieurs optimisations notables, et notamment les prefabs imbriqués qui permettent de trier et consulter incroyablement plus vite. Les recherches dans la fonction d'inscription des importateurs scriptés de l'éditeur ont été testées pour être jusqu'à 800 fois plus rapides. Et enfin, l'équipe d'optimisation a également remanié Camera.main pour réduire le temps de requête, jusqu'à des centaines de millisecondes pour certains projets.

En savoir plus

Co-progamme d'éditeur et flux de production plus rapides avec l'entrée en mode lecture configurable

La fonctionnalité Entrée en mode lecture configurable n'est plus expérimentale et vous permet de désactiver séparément ou à la fois, les actions « Domain Reload » et « Scene Reload » afin d'accélérer l'entrée en mode lecture. Avec les co-programmes de l'éditeur, qui ne sont plus juste en aperçu, vous pouvez démarrer l'exécution des méthodes d'itérateur dans l'éditeur de la même façon dont les co-programmes au sein des scripts MonoBehaviour sont gérés au cours de l'exécution.

En savoir plus

Réduction de code gérée avec Unity Linker

Unity Linker réalise des analyses statiques afin de réduire le code géré. Il reconnaît un certain nombre d'attributs et vous permet d'annoter les dépendances lorsqu'il ne peut pas les identifier. Dans Unity 2020.2, cet outil a reçu des mise à jour d'API pour correspondre à Mono IL Linker. En démarrant avec Unity 2020.1, Unity Linker peut détecter des motifs de reflet simples en réduisant le besoin d'utiliser des fichiers link.xml.

En savoir plus

Mises à jour de profiler

Vous pouvez désormais ajouter des tableaux dans la fenêtre du profiler afin d'obtenir des informations de performance et du contexte pour des statistiques de profiler existantes ou générées par l'utilisateur. En même temps, Flow Events peut afficher des dépendances de tâches en série dans la chronologie du profiler et vous aider à identifier quelle est la tâche sur laquelle votre application passe du temps pendant une séquence d'opérations.

Vous pouvez désormais visualiser les statistiques de rendu et de profileur de mémoire dans les lecteurs. Exposez les statistiques de profileur existantes à l'aide de l'API d'exécution et prenez connaissance des valeurs des statistiques de performance pour des zones existantes du profiler telles que la mémoire, le rendus ou autres dans les lecteurs. Utilisez les données afin de visualiser les affichages tête haute (HUD) de performance lorsque vous exécutez votre projet sur l'appareil cible ou de créer d'autres outils de performance selon vos propres besoins.

En savoir plus

Améliorations de l'analyseur Roslyn

Le pipeline de compilation prend désormais en charge les analyseurs Roslyn. Cela vous permet d'exécuter des analyseurs de code C# de manière asynchrone à l'arrière-plan dans l'éditeur Unity sans interrompre votre flux de production d'itération. Vous pouvez également les exécuter de manière synchrone depuis la ligne de commande. 

Les analyseurs Roslyn et les fichiers de règle du jeu dans les projets Unity sont des outils puissants qui sont là pour vous aider à inspecter votre code du point de vue du style, de la qualité et d'autres problèmes. Vous pouvez utiliser des bibliothèques d'analyseur afin d'inspecter votre code et de rédiger vos propres analyseurs afin de promouvoir les bonnes pratiques ou les conventions au sein de votre entreprise.

En savoir plus

Mode sans échec Unity

Le mode sans échec de Unity améliore son comportement lors de l'ouverture d'un projet qui contient des erreurs de compilation de scripts. Si ces erreurs de compilation sont détectées au démarrage de l'éditeur, vous serez alors invité à utiliser le mode sans échec. Ce mode vous propose un environnement conçu pour résoudre les problèmes afin que vous puissiez remettre votre projet en état fonctionnel sans attendre les importations inutiles de vos ressources de projet. Cette fonctionnalité simplifiera et accélérera le processus de mise à niveau d'un projet par rapport à une nouvelle version de Unity et aidera vos équipes à travailler sur des projets conséquents en réduisant le nombre de cases dans lesquelles le dossier bibliothèque contient des artefacts d'importation incorrects.

En savoir plus

Télécharger Unity 2020.2

Accédez à toutes les fonctionnalités ci-dessus et bien plus dès aujourd'hui.

Ce site utilise des cookies dans le but de vous offrir la meilleure expérience possible. Consultez notre politique de cookies pour en savoir plus.

Compris