La Public Preview de Rider for Unreal Engine est lancée !

Posted on by Delphine Massenhove

Nous avons le plaisir de vous annoncer le lancement de la Public Preview de Rider for Unreal Engine ! Il s’agit d’une nouvelle étape importante pour faire de Rider un EDI autonome, tout-en-un et multiplateforme pour le développement de jeux vidéo !
Rider for Unreal Engine Preview

Avant de vous présenter l’outil et de vous expliquer pourquoi Rider est le bon choix pour développer avec Unreal Engine, revenons sur la famille d’outils C* dont nous disposons.

Voici l’offre d’outils pour C++ et le développement de jeux que nous proposons actuellement :

  1. CLion : un EDI C/C++ multiplateforme qui est utilisé pour le développement natif et cible le secteur financier, les projets d’IA et le développement embarqué. Il est particulièrement adapté pour les configurations à distance ou le débogage sur puces ou Linux distants. Il y a eu une solution de contournement basée sur CMake afin de l’utiliser pour Unreal Engine, mais nous ne l’avons jamais considérée comme une solution complète.
  2. ReSharper C++ : une extension Visual Studio pour développeurs C++. Il cible tous les projets C++ créés dans Visual Studio et en fait un environnement beaucoup plus intelligent et productif. Visual Studio lui-même (souvent avec ReSharper C++ ou Visual Assist) est l’outil le plus utilisé pour les projets Unreal Engine (ce que nous avons pu vérifier dans le cadre de l’enquête que nous avons réalisée lors de la Game Development Conference). C’est pourquoi ReSharper C++ a été le premier outils JetBrains à proposer une prise en charge spécifique d’Unreal Engine.
  3. Rider : un EDI C# multiplateforme rapide et puissant, qui a rapidement été reconnu comme un excellent choix pour Unity. C’est en parlant avec nos utilisateurs faisant du développement de jeux que nous avons réalisé que de nombreux studios de jeux développent à la fois des jeux Unity et Unreal Engine et qu’ils apprécieraient probablement de n’utiliser qu’un seul outil pour tous leurs projets.

Cela nous a fait réfléchir… Rider est un EDI multiplateforme basé sur la plateforme IntelliJ, avec un moteur de langage emprunté à ReSharper. Si on ajoutait le moteur de langage de ReSharper C++ à Rider, qu’on implémentait un débogueur et qu’on optimisait le tout pour Unreal Engine, ne serait-ce pas une solution parfaite pour le développement de jeux UE4 ? Nous avons pensé que cela serait le cas et avons donc décidé de le faire !

La Public Preview de Rider for Unreal Engine est une édition spéciale de Rider disponible en avant-première, actuellement uniquement pour Windows. Si vous êtes prêt à vous lancer et à l’essayer, cliquez sur le bouton et complétez le formulaire :

PARTICIPER À L’EARLY PREVIEW

Vous trouverez ci-dessous plus d’informations sur les fonctionnalités et des réponses aux principales questions que vous pouvez vous poser.

Rider for Unreal Engine : ce qu’il peut vous apporter

Rider for Unreal Engine regroupe toutes les fonctionnalités C++ et Unreal Engine provenant de ReSharper C++. En outre, il connaît les Blueprints, le HLSL, comprend les fichiers de build et les fichiers cibles C#. Dernier point mais non des moindres : il est plutôt rapide.

Notre cher Matt Ellis vous en fait une présentation détaillé dans cette vidéo :

Comme le montre la vidéo, bien que Rider for Unreal Engine ne soit qu’au stade de Public Preview, il offre déjà de nombreux avantages aux développeurs de jeux Unreal Engine.

Un EDI complet avec prise en charge native de C++

ReSharper C++ implémente un analyseur C++ complet possédant une connaissance approfondie du notoirement complexe langage C++. Ses nombreuses fonctionnalités sont désormais disponibles dans Rider for Unreal Engine.
Alt-Enter menu
Voici ce qu’elles vous permettent de faire :

  • Utiliser les refactorisations Rename et Change Signature avec la certitude que toutes les utilisations seront correctement mises à jour.
  • Saisir automatiquement des déclarations qui ne sont pas encore disponibles dans la portée actuelle et obtenir automatiquement l’ajout des #include manquants.
  • Sélectionner les blocs de code sémantiquement corrects et les réorganiser sans avoir à faire de copier-coller.
  • Consulter les résultats de plus de 250 inspections de code réalisées dans votre code au moment même où vous saisissez. Cela vous évitera de nombreuses erreurs critiques et des heures passées en mode panique.
  • Et utiliser de nombreuses autres fonctionnalités innovantes, dont vous pouvez trouver la description dans la documentation en ligne de ReSharper C++.

Pour plus de détails, regardez cette partie de la vidéo de Matt consacrée aux fonctionnalités C++ de base.

Si vous avez l’habitude de travailler avec Visual Studio, vous vous demandez peut-être quelles sont les autres fonctionnalités essentielles qu’ont peut attendre d’un bon EDI. Rider est un EDI complet basé sur la plateforme IntelliJ, ce qui signifie qu’il inclut une intégration VCS, un outil de base de données, une prise en charge étendue des plugins, et des plugins largement utilisées pour émuler Vim et permettre l’intégration avec différents services Cloud.

Les performances comme priorité

Construire un EDI de toutes pièces, sans aucune limitation imposée par Visual Studio (comme c’est le cas avec ReSharper), implique que nous n’avons pas de limites en termes de performances. Nous avons donc tout fait pour aller le plus loin possible !

L’indexation initiale du projet est conçue pour s’effectuer rapidement, avec des mises à jour incrémentales au fur et à mesure que vous travaillez sur votre jeu. Nous comprenons que vous souhaitiez commencer avec vos propres fichiers de jeu (et non le code du moteur de jeu) dans de nombreux cas. Aussi, nous les indexons et activons toutes les fonctionnalités de l’EDI d’abord, puis nous poursuivons avec l’indexation du code source d’Unreal Engine en arrière-plan.

Si vous constatez des décalages lors de votre utilisation de l’édition Preview, faites-le nous savoir !

Connaissance des Blueprints

Chez JetBrains, le code est notre passion, il est donc essentiel pour nous de vous fournir une assistance intelligente au codage. Bien que les Blueprints (BP) offrent une expérience légèrement différente de ce que nous avons l’habitude de vous proposer avec nos outils, les fichiers Blueprint (BP) répondent à nos objectifs. Ces fichiers sont écrits sous forme binaire et sont généralement édités visuellement. Néanmoins, ils contiennent toute une série d’informations utiles pour les développeurs travaillant sur a partie C++ d’un jeu, nous avons donc décidé que Rider devait en avoir connaissance :

  • Il peut y avoir des classes BP dérivées, ce qui est intéressant à voir lorsque vous invoquez Find Usages sur une classe C++ ou lorsque vous lisez simplement du code C++ dans l’éditeur.
  • Il existe des valeurs de propriétés remplacées et il est utile de voir les modifications qui leur ont été apportées récemment dans Unreal Editor.
  • Vous voudrez peut-être naviguer vers des objets BP à partir de votre code C++.

Rider lit les fichiers BP de votre projet et d’Unreal Editor, ainsi que les plugins des deux, et extrait toutes les informations mentionnées ci-dessus :
Dérivés des Blueprints

Pour plus de détails, regardez cette partie de la vidéo de Matt consacrée à la prise en charge des Blueprints.

Comprend le système de réflexion UE4

Si vous êtes un adepte de ReSharper C++, vous avez peut-être déjà vu ceci en action. Pour notre moteur linguistique, le mécanisme de réflexion UE4 est bien plus que de simples macros avec des paramètres de texte en clair.

  • Nous savons que ces macros sont spéciales et importantes, et nous pouvons les analyser et les traiter ces correctement avant même que vous ne lanciez un outil de compilation ou de génération UnrealHeader.
  • Les spécificateurs de réflexion sont plus que du texte, c’est pourquoi la saisie semi-automatique et les infobulles de documentation fonctionnent également pour eux :
    Documentation des macros de réflexion
  • Les macros de réflexion UE4 manquantes ou définies de façon incorrecte seront traités par l’analyse de code intégrée :
    Inspection de macro

Pour plus de détails, regardez cette partie de la vidéo de Matt.

Comprend la sémantique des appels de procédure distants

Si vous ne réglez pas spécifiquement votre analyseur, il sera probablement perturbé par les fonctions d’appels de procédure distants (RPC) UE4 et ne les fera pas correspondre par noms. C’est pourquoi Rider (tout comme ReSharper C++) identifie les RPC UE4 par les mots-clés Client, Server ou NetMulticast dans la déclaration UFUNCTION. Il comprend également si une fonction de validation doit être générée (par le mot-clé WithValidation dans la déclaration UFUNCTION). En pratique, cela donne :

  • Une action Generate actualisée qui générera les fonctions _Validate et _Implementation si nécessaire, ou seulement celle manquant actuellement.
  • Des suggestions pour les deux fonctions dans la navigation :
    Fonctions RPC
  • Et la possibilité de tout mettre à jour lorsque vous utilisez les refactorisations Rename ou Change Signature.

Vous voulez voir cela en action ? Matt en fait une démonstration dans sa vidéo.

Applique les règles de dénomination UE4

Une autre chose que Rider a emprunté à ReSharper C++ est la prise en charge des conventions de nommage UE4. Elle est disponible pour chaque action, de l’introduction d’une variable à la génération de getters et setters. Pendant ce temps, l’inspection Inconsistent UE4 naming détecte les noms qui ne correspondent pas aux conventions et suggère un correctif rapide (qui déclenche une refactorisation Rename).

Comprend les langages HLSL et C#, JSON et les dialectes uprojet/uplugin

Avez-vous souvent besoin de plus que de C++ et des BP pour vos projets Unreal Engine ? Nous imaginons que c’est sûrement le cas !

Vous avez peut-être vu la présentation concernant la prise en charge linguistique initiale des fichiers shader HLSL dans ReSharper C++ 2020.1. Eh bien la même prise en charge est disponible dans Rider for Unreal Engine ! Voici les avantages que nos outils vous offrent pour travailler avec des fichiers HLSL :

  • La navigation vers les fichiers HLSL.
  • La mise en évidence des éléments de syntaxe et des erreurs de syntaxe.
  • Des contrôles d’analyse de code sémantique.
  • Quelques inspections pratiques avec des correctifs rapides.
  • Des refactorisations, encore expérimentales, mais Rename, Inline Variable, Introduce Variable et Change Signature fonctionnent déjà dans de nombreux cas.

Pour en savoir plus, consultez cette partie de la démonstration vidéo.

Rider for Unreal Engine ne serait pas Rider sans la prise en charge des fichiers de build et des fichiers cibles C#, la saisie semi-automatique et la validation pour les noms de modules dans les fichiers .uproject et .uplugin.

Inclut son propre débogueur

C’était le défi le plus difficile à relever et cela nous a empêchés de lancer la Public Preview plus tôt. Personne n’est autorisé à utiliser le débogueur de Microsoft en dehors des outils MS, nous avons donc dû mettre en place notre propre débogueur basé sur LLDB. Et nous avons pu le tester sur des projets grâce aux utilisateurs de CLion, qui ont pu bénéficier de ce débogueur spécifique pour leurs projets Windows il y a quelques temps déjà.

Avec Rider for Unreal Engine, vous pouvez définir des points de rupture de ligne, des points de surveillance, des points de rupture conditionnelle et autres. Vous pouvez également utiliser des expressions d’évaluation ou des valeurs fixes lors des sessions de débogage. Il prend en charge les fichiers NatVis et trouve et charge automatiquement le fichier UE4.natvis, offrant des vues intuitives des types de données d’Unreal Engine.

Découvrez le débogueur en action dans la vidéo de Matt. Veuillez noter qu’il n’en est encore qu’à ses débuts et que nous prévoyons de l’améliorer considérablement au cours de la période de Public Preview.

RiderSourceCodeAccess

Pour faire de Rider for Unreal Engine votre EDI de prédilection dans Unreal Editor, téléchargez le plugin RiderSourceCodeAccess depuis la marketplace. (Consultez cette brève instruction sur son utilisation sur GitHub). Et la version 4.25 rend les choses plus faciles. Unreal Editor reconnaîtra automatiquement Rider et listera toutes les versions compatibles dans la liste déroulante des éditeurs de code source dans les préférences d’Unreal.

Rider for Unreal Engine : Questions fréquentes

L’accès à la Public Preview de Rider for Unreal Engine est-il gratuit ?

facebook_1200x1200
Oui, c’est gratuit. Vous devez simplement vous inscrire pour recevoir une licence pour votre compte JetBrains. Cette licence ne sera valable que pour la Public Preview de Rider for Unreal Engine. Elle ne vous permettra pas d’utiliser la version classique de Rider.

Cette licence est délivrée sous forme d’abonnement individuel valable 1 an. Nous espérons que cette durée sera suffisante pour couvrir toutes les étapes de développement avant la sortie officielle du produit. Il n’y a aucune restriction quant à son utilisation à des fins commerciales, mais cela sera à vos propres risques.

Comment puis-je obtenir une licence ?

Pour obtenir une licence, il vous suffit de compléter ce formulaire. La licence sera automatiquement créée pour vous et ajoutée à votre compte JetBrains, et vous en serez informé par e-mail. Pour activer la licence :

  1. Utilisez le lien fourni dans l’e-mail pour procéder à l’activation du compte et de la licence.
  2. Ensuite, utilisez les identifiants de votre compte JetBrains pour vous inscrire dans le produit.

Je dispose d’une licence pour Rider. Aurai-je accès à Rider for Unreal Engine dès son lancement officiel?

Oui ! Rider for Unreal Engine fera partie de notre EDI JetBrains Rider, que nous considérons comme notre principale offre pour les développeurs de jeux vidéo.

Qui peut avoir accès aux builds de la Public Preview ?

La Public Preview de Rider for Unreal Engine est ouverte à tous. Vous n’avez qu’à remplir le formulaire et récupérer la build et la licence pour commencer à l’utiliser immédiatement.

Puis-je développer mes projets C++ habituels avec Rider for Unreal Engine ?

Rider for Unreal Engine fournit la même prise en charge de C++ que ReSharper C++. Alors, si vous avez une solution VS et que vous voulez l’ouvrir dans Rider, allez-y ! Cependant, l’objet principal cette Public Preview reste Unreal Engine pour le développement de jeux vidéo. Nous attendons donc en priorité des retours d’expérience concernant la prise en charge d’Unreal Engine.

Rider est un EDI multiplateforme. La prise en charge d’UE4 est-elle également disponible sur les 3 plateformes ?

Pour l’instant, Rider for Unreal Engine ne fonctionne que sous Windows. Nous prévoyons de l’étendre à macOS et à Linux dans le futur, si possible dès la première version officielle.

Ai-je besoin d’un modèle de projet spécifique pour commencer à travailler sur mon projet Unreal Engine ?

Vous pouvez simplement ouvrir vos fichiers .sln dans Rider for Unreal Engine. D’ici sa sortie, nous espérons que Rider fonctionnera également nativement avec .uproject, afin de vous éviter l’étape de la génération de fichiers .sln.

Quand la version officielle sera-t-elle disponible ?

Nous ne pouvons pas encore nous prononcer sur ce point. Nous venons de lancer la Public Preview et nous souhaitons recueillir et traiter autant de retours d’expérience que possible. Lorsque nous estimerons que le produit est suffisamment abouti et prêt pour une utilisation avancée en production, nous intégrerons toutes les fonctionnalités dans JetBrains Rider. Cela pourrait se produire avant la fin de l’année 2020, ou non, en fonction des commentaires que nous recueillerons.

Où dois-je envoyer mes commentaires ?

C’est très simple ! Vous avez plusieurs possibilités :

  • Les plugins UnrealLink pour Rider et RiderLink pour Unreal Editor sont là pour aider à l’intégration des Blueprints et de manière générale à la communication entre Rider et Unreal Editor. Tout problème spécifique doit être signalé via GitHub.
  • Pour les problèmes spécifiques à C++ et au code Unreal Engine, veuillez les reporter dans l’outil de suivi d’incidents de ReSharper C++.
  • Les problèmes spécifiques à Rider doivent quant à eux être signalés dans l’outil de suivi d’incidents de Rider. Si vous envoyez un ticket au mauvais endroit, pas de souci. Nous le replacerons au bon endroit.
  • Vous pouvez envoyer un e-mail aux ingénieurs du support et aux développeurs de Rider for Unreal Engine à rider-cpp-support@jetbrains.com.
  • Nous contacter sur Twitter (@JetBrainsRider) en utilisant le tag #RiderForUnrealEngine.

Il est maintenant temps d’essayer Rider for Unreal Engine ! Cliquez sur le bouton et remplissez le formulaire :

PARTICIPER À L’EARLY PREVIEW

L’Équipe Rider
JetBrains
The Drive to Develop

L’article La Public Preview de Rider for Unreal Engine est lancée ! a été publié pour la première fois sur le blog .NET Tools.

Auteur de l’article original en anglais : Anastasia Kazakova