Configuration
C++
Pour écrire du code C++ dans l'Unreal Engine (UE), téléchargez Visual Studio sur Windows, ou installez Xcode sur macOS. Lorsque vous créez un nouveau projet C++, l'UE crée automatiquement des fichiers de projet Visual Studio pour vous.
Vous pouvez accéder à Visual Studio de deux façons depuis votre projet UE :
Dans le navigateur de contenu, double-cliquez sur une classe C++ pour l'ouvrir dans Visual Studio.
Dans le menu principal, allez dans Outils > Ouvrir Visual Studio. Cette option n'apparaît que si votre projet contient au moins une classe C++.
Une différence cruciale est que vous devrez parfois actualiser manuellement vos fichiers de projet Visual Studio (par exemple, après avoir téléchargé une nouvelle version de l'UE ou lorsque vous effectuez manuellement des modifications d'emplacements des fichiers sources sur le disque). Pour cela, deux méthodes s'offrent à vous :
Dans le menu principal de l'UE, allez dans Outils > Actualiser le projet Visual Studio.
Faites un clic droit sur le fichier .uproject dans le répertoire de votre projet et sélectionnez Générer les fichiers de projet Visual Studio.
Voir Configuration de développement pour obtenir des informations plus détaillées.
Blueprint
Vous n'avez besoin de l'UE que pour utiliser le système de programmation Blueprint. Toutes les fonctionnalités dont vous avez besoin sont intégrées à l'Unreal Editor.
Écrire des fonctions d'événement
Si vous avez déjà travaillé avec MonoBehaviors, vous devez connaître des méthodes telles que Start, Update et OnDestroy. Vous trouverez ci-dessous une comparaison entre un comportement Unity et son équivalent pour les acteurs et composants de l'UE.
Dans Unity, vous aviez probablement un composant simple tel que celui-ci :
public class MyComponent : MonoBehaviour
{
void Start() {}
void OnDestroy() {}
void Update() {}
}AActor
Dans l'UE, vous pouvez coder directement sur l'acteur, au lieu de créer de nouveaux types de composants.
Les méthodes des acteurs sont en outre semblables aux méthodes Start, OnDestroy et Update de Unity.
C++
UCLASS()
class AMyActor : public AActor
{
GENERATED_BODY()
// Called at start of game.
void BeginPlay();
// Called when destroyed.
void EndPlay(const EEndPlayReason::Type EndPlayReason);
Blueprint
UActorComponent
Les composants de l'UE sont conceptuellement semblables aux MonoBehaviors, mais contiennent des méthodes différentes.
C++
UCLASS()
class UMyComponent : public UActorComponent
{
GENERATED_BODY()
// Called after the owning Actor was created
void InitializeComponent();
// Called when the component or the owning Actor is being destroyed
void UninitializeComponent();
Blueprint
Remarques supplémentaires
Dans l'UE, vous devez appeler explicitement la méthode du parent dans la méthode de l'enfant. Par exemple, en Unity C#, cela serait
base.Update(), mais en UE C++ vous utiliserezSuper::Tick()pour les acteurs ouSuper::TickComponent()pour les composants.En UE C++, les classes utilisent différents préfixes, tels que
Upour les sous-classesUObjectetApour les sous-classes d'acteur. Voir Norme de codage pour obtenir des informations plus détaillées.Pour des exemples de codage de jeux, voir Créer un gameplay dans l'Unreal Engine.