Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

🎨 Unreal Editor – Interface, Outils & Workflow

Guide complet IDEO-Lab sur l'IDE (Éditeur) d'Unreal Engine (Blueprints, Sequencer, UMG).

1.1

Concept : L'Éditeur (IDE)

L'interface (GUI) pour assembler le jeu (WYSIWYG).

Editor IDE WYSIWYG
1.2

Interface : Fenêtres Clés

Viewport, Outliner (Hiérarchie), Details (Inspecteur).

Viewport Outliner Details
1.3

Interface : Content Drawer

L'explorateur d'Assets (Content/), .uasset.

Content Drawer Assets .uasset
2.1

Concepts : Actor & Component

Actor (Objet) vs Component (Fonctionnalité).

Actor Component
2.2

Gameplay Framework

Game Mode, Game State, Pawn, Controller.

Game Mode Pawn Controller
2.3

Play In Editor (PIE)

Lancement (Play), Simulation, Possession (Possess).

PIE Play
3.1

Blueprints (BP) : Vue d'ensemble

Scripting visuel (Nodal). Prototypage rapide.

Blueprints Visual Scripting
3.2

Éditeur BP : Graphes

Event Graph (Logique) vs Construction Script (Setup).

Event Graph Construction Script
3.3

Éditeur BP : Composants

Ajout (Add Component), Viewport (Composition).

Components Composition
4.1

C++ : Macros (UCLASS)

UCLASS, UPROPERTY, UFUNCTION. (Reflection).

C++ UCLASS UPROPERTY
4.2

C++ : Live Coding

Compilation "à chaud" (Ctrl+Alt+F11). (Non-stop).

Live Coding Hot Reload
4.3

Blueprints vs C++ (Workflow)

Prototypage (BP) vs Performance (C++).

Comparatif Workflow
5.1

Material Editor

Éditeur de Shaders nodal (PBR). Material vs Instance.

Material Shader PBR
5.2

Éditeur Niagara (VFX)

Système nodal (Emitter, System) pour particules.

Niagara VFX
5.3

Outils : Lumen & Nanite

GI (Lumen) et Géométrie (Nanite) dans l'Éditeur.

Lumen Nanite
6.1

Outils Monde (World Partition)

Streaming (Grilles, Open World), Foliage, Landscape.

World Partition Landscape
6.2

UMG (UI Designer)

Unreal Motion Graphics. Éditeur (Drag & Drop) de Widgets.

UMG UI Widget
6.3

Sequencer (Cinématiques)

Outil de "Timeline" (Montage, Caméras).

Sequencer Cinématique
7.1

Outil : Chaos Destruction

Éditeur de Fracture (Geometry Collections).

Chaos Physics Destruction
7.2

Éditeur d'Animation

Skeletal Mesh, Anim BP (State Machine), Control Rig.

Animation BP State Machine
7.3

Build & Packaging

Outil de "Packaging" (Compilation du jeu final).

Build Package
1.1 Concept : L'Éditeur (IDE)

L'Unreal Editor (UE Editor) est l'IDE (Integrated Development Environment) de l'Unreal Engine. C'est l'application (GUI) principale que les développeurs et artistes utilisent pour assembler, visualiser, et tester le jeu.

Il est l'équivalent de "Unity Editor" (Unity) ou "Sandbox Editor" (CryEngine).

WYSIWYG (What You See Is What You Play)

La philosophie de l'éditeur est le "Temps Réel". Ce que vous voyez dans le Viewport (1.2) est (grâce à Lumen/Nanite) une représentation quasi-finale du jeu.

Le mode Play In Editor (PIE) (2.3) permet de lancer le jeu instantanément dans l'éditeur pour des tests et un débogage rapides.

1.2 Interface : Fenêtres Clés

L'interface (GUI) de l'Éditeur Unreal est composée de plusieurs fenêtres (Views) modulables.

Fenêtre (Unreal)Équivalent (Unity)Description
Viewport (Fenêtre)Scene ViewLa vue 3D où vous construisez le monde (Level). (Modes : Lit, Unlit, Wireframe...).
World OutlinerHierarchy(Haut droit) La liste textuelle de tous les Actors actuellement dans le Level (Scène). Gère la hiérarchie (parent/enfant).
Details (Détails)Inspector(Bas droit) Le plus important. Affiche les Composants et les propriétés (C++/BP) de l'Actor sélectionné.
Content DrawerProject(Bas) L'explorateur d'Assets (le dossier Content/).
Place Actors(Menu Create)(Gauche) Fenêtre pour glisser/déposer de nouveaux Actors (Lumières, Formes, Triggers).
1.3 Interface : Content Drawer (Assets)

Le Content Drawer (ou Content Browser) est l'explorateur de fichiers d'Unreal. Il représente le dossier Content/ de votre projet sur le disque.

C'est là que tous les Assets (ressources) du jeu sont stockés. Contrairement à Unity, Unreal utilise (majoritairement) un format binaire propriétaire : .uasset.

Types d'Assets (.uasset)
  • Level (.umap) : (Le seul autre format) La Scène.
  • Blueprint (.uasset) : (Logique) (ex: BP_Player).
  • Static Mesh (.uasset) : (3D) Le modèle 3D (géométrie).
  • Material (.uasset) : (Rendu) Le Shader.
  • Texture (.uasset) : (Rendu) L'image (.png/.tga importée).
  • Skeletal Mesh (.uasset) : (Animation) Le modèle 3D avec squelette.
2.1 Concepts : Actor & Component

Unreal utilise un modèle hybride (Héritage + Composition).

Actor (AActor)

(Équiv. GameObject d'Unity).

C'est l'objet de base qui peut être placé dans un Level. Il possède (au minimum) un Transform (Position, Rotation, Scale).

Dans Unreal, on hérite (extends) de AActor (ou de ses enfants, comme ACharacter) pour créer de nouveaux objets (via C++ ou Blueprints).

Component (UActorComponent)

(Équiv. Component d'Unity).

C'est la brique de fonctionnalité qui est attachée à un Actor.

Exemple : Un BP_Lampadaire (Actor) est composé d'un StaticMeshComponent (le visuel) et d'un PointLightComponent (la lumière).

2.2 Le Gameplay Framework

C'est l'architecture (conceptuelle) d'Unreal pour la logique de jeu. Elle sépare les "Règles", le "Cerveau" et le "Corps".

Les "Règles" (Existent uniquement sur le Serveur)
Game Mode (AGameModeBase)

Rôle : Les Règles du Jeu (immuables).

  • Ex: "Quel est le Pawn (personnage) par défaut ?", "Quelles sont les règles de spawn ?", "Comment gagner (Deathmatch) ?".
  • Existe uniquement sur le Serveur (non-répliqué).
Game State (AGameStateBase)

Rôle : L'État Actuel du jeu (les "scores").

  • Ex: "Le score est 10-5", "Il reste 5 minutes", "La liste des joueurs connectés".
  • Existe sur le Serveur, et est Répliqué à tous les Clients (pour qu'ils puissent afficher le score).
Le "Joueur" (Séparation Cerveau/Corps)

Unreal sépare l'IA/Input (Cerveau) du corps physique (Avatar).

Pawn / Character (APawn / ACharacter)

Rôle : Le Corps (Avatar).

  • C'est l'objet "physique" dans le monde (le "pion" sur l'échiquier).
  • Contient le Mesh, les Collisions, la Santé (Health).
  • Ne sait pas ce qu'est une "touche Z" (il ne gère pas l'Input).
  • Il ne "pense" pas. Il n'a que des fonctions (ex: MoveForward(float axis), Jump()).
Controller (AController)

Rôle : Le Cerveau (l'Âme).

  • C'est un Actor "non-physique" (invisible).
  • PlayerController (PC) : Gère l'Input (Touche Z, Souris) d'un vrai joueur.
  • AIController (AIC) : Gère la "logique" (Behavior Tree, IA) d'un Bot.

Flux : Le Controller "possède" (Possess) le Pawn. (Touche Z) -> [PlayerController] -> (Appelle la fonction MoveForward) -> [Pawn].

2.3 Play In Editor (PIE)

PIE est la fonction principale (bouton "Play") de l'éditeur pour tester le jeu instantanément.

Modes de "Play"
  • Selected Viewport : (Défaut) Lance le jeu *dans* la fenêtre "Viewport" actuelle.
  • New Editor Window : Lance le jeu dans une nouvelle fenêtre (taille ajustable).
  • Standalone Game : Lance le jeu dans un processus séparé (.exe). (Plus lent à démarrer, mais simule les conditions "Build").
Fonction "Possess" (Possession)

Pendant le PIE, le PlayerController (2.2) "possède" (possesses) le Pawn (personnage) défini dans le GameMode (2.2).

Eject (Éjecter) (Touche F8) : Permet (pendant le PIE) de "quitter" le Pawn (le jeu se met en pause) et de revenir à la caméra "Spectateur" de l'éditeur pour inspecter (debug) la scène (ex: "Où est mon ennemi bloqué ?").

3.1 Blueprints (BP) : Vue d'ensemble
Le Scripting Visuel (Nodal)

Blueprints (BP) est le système de scripting visuel (Nodal) d'Unreal. Il permet de créer une logique de jeu (fonctions, variables) sans écrire de code C++.

C'est un système "basé sur les nœuds" (Nodes) : on connecte des "boîtes" (Fonctions) avec des "fils" (Flux d'exécution).

(Équivalent C# de Unity: 'OnTriggerEnter')

[Event 'OnActorBeginOverlap']──(Exec)──►[Cast To 'BP_Player']──(Exec)──►[Apply Damage]
 (Actor) ───────────────────────────────► (Object)              (Target) ◄─ (Self)
                                         (As BP_Player) ───────────────► (Damaged Actor)
Avantages
  • Accessibilité : Permet aux non-programmeurs (Game Designers, Artistes) de créer de la logique.
  • Prototypage Rapide : Extrêmement rapide pour tester une idée (itération).
  • Intégration : Parfaitement intégré à l'éditeur.
3.2 Blueprints : Types Principaux

Quand vous créez un Blueprint (clic droit -> Blueprint Class), vous héritez d'une classe. Les plus courants :

Type de BlueprintDescription
Actor Blueprint(Le plus courant) Crée une classe (Actor) qui peut être placée dans le monde (ex: BP_Porte, BP_Monstre). Contient des Composants et des Graphes (Event, Construction).
Level BlueprintUn graphe de logique unique, lié à un Level (Map) spécifique. (Usage : Scripting de niveau, cinématiques, ex: "Ouvrir Porte A quand le Joueur atteint Trigger B").
Game Mode BlueprintHérite de GameModeBase. Permet de définir les "Règles du Jeu" (2.2) en Blueprint.
Blueprint Function LibraryUne collection de fonctions "statiques" (globales) réutilisables.
Widget Blueprint (UMG)Utilisé pour créer l'Interface Utilisateur (UI) (Menus, HUD).
3.3 Blueprints : Event Graph vs Construction Script

Un "Actor Blueprint" (3.2) contient deux graphes (espaces de code) principaux :

1. Event Graph (Graphe d'Événements)

Quand : S'exécute pendant le jeu (Runtime).

Usage : C'est la logique de jeu. (L'équivalent de Start, Update, OnTriggerEnter d'Unity).

Événements (Events) Clés
  • Event BeginPlay : (Équiv. Start()) Appelé 1 fois quand le jeu démarre.
  • Event Tick : (Équiv. Update()) Appelé à chaque frame. (Coûteux !).
  • Event OnActorBeginOverlap : (Équiv. OnTriggerEnter())
2. Construction Script (Script de Construction)

Quand : S'exécute dans l'Éditeur (Editor-time).

Il s'exécute chaque fois que l'objet est créé, déplacé, ou modifié dans la Scène (avant BeginPlay).

Usage

C'est l'outil de "Level Design" procédural.

Exemple : Créer un Blueprint "BP_RangéeDeLumières".

  • (Ajouter une variable NombreDeLumieres = 10)
  • (Dans le Construction Script) : Faire une boucle FOR (1 à 10) -> Add Point Light Component.
  • Résultat : Le Level Designer glisse 1 "BP_RangéeDeLumières", et (dans l'Inspecteur) change "10" à "50". La rangée de 50 lumières apparaît immédiatement dans l'Éditeur.
4.1 C++ : Vue d'ensemble (Macros)

Le C++ est le langage "natif" d'Unreal Engine. Il est utilisé pour la performance et pour créer des systèmes de base (ex: la "fondation" d'un Personnage) qui seront ensuite étendus/utilisés par les Blueprints.

Unreal Header Tool (UHT) - La "Magie"

UE utilise un C++ "modifié" (via un pré-processeur, l'UHT) qui gère la Réflexion (Reflection) (voir 6.3 du guide "Custom Engine") et le Garbage Collection (GC).

Pour que le C++ soit "visible" par l'Éditeur Unreal (et par les Blueprints), vous devez utiliser des Macros :

// MyCharacter.h (Fichier Header)
#pragma once
#include "GameFramework/Character.h"
#include "MyCharacter.generated.h" // (Généré par UHT)

// 1. UCLASS() (Rend la classe visible par UE)
UCLASS(Blueprintable) // (Permet d'en hériter en Blueprint)
class AMyCharacter : public ACharacter
{
    GENERATED_BODY() // (Magie UHT)

public:
    AMyCharacter();

protected:
    // 2. UPROPERTY() (Rend la variable visible/éditable)
    // (Visible dans l'Inspecteur ET en Blueprint)
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Stats")
    float Health;

    // 3. UFUNCTION() (Rend la fonction visible/appelable)
    // (Peut être appelée depuis un Event Graph Blueprint)
    UFUNCTION(BlueprintCallable, Category="Stats")
    void TakeDamage(float Amount);

    // (Événement natif, implémentable en BP)
    UFUNCTION(BlueprintImplementableEvent)
    void OnDeath();
};
4.2 C++ : Compilation (Live Coding)

Historiquement, la compilation C++ (surtout pour un moteur de jeu) était un processus très lent (Hot Reload).

Live Coding (UE5)

Live Coding (UE 4.22+) est le système de compilation "moderne". Il permet de modifier le code C++ pendant que l'Éditeur (ou le jeu) tourne.

Workflow (Live Coding)
  1. Lancer le jeu (Play in Editor).
  2. Ouvrir Visual Studio / VS Code / Rider.
  3. Modifier une fonction C++ (ex: changer la vitesse du joueur).
  4. Appuyer sur Ctrl+Alt+F11 (Compiler).
  5. Live Coding compile les deltas (changements) (très rapide).
  6. Il "patch" (applique) le nouveau code (DLL) à chaud dans le processus du jeu.
  7. Vous voyez le changement (nouvelle vitesse) instantanément, sans redémarrer le jeu.

Limite : Le Live Coding ne fonctionne (généralement) pas si vous modifiez les en-têtes (.h) (ex: ajouter un UPROPERTY). Cela nécessite un redémarrage complet de l'Éditeur.

4.3 Blueprints vs C++ (Le Workflow "Idéal")

La force d'Unreal est l'hybridation des deux. La question n'est pas "l'un *ou* l'autre", mais "quand utiliser l'un *et* l'autre".

CritèreC++Blueprints (BP)
PerformanceTrès Élevée (Compilé, Natif)Lent (Interprété, VM)
UsageSystèmes (Fondations), Algorithmes complexes (Pathfinding), Calculs lourds (Tick).Prototypage, Logique "glue", Événements (UI, Level), Itération (Designers).
UtilisateurProgrammeursDesigners, Artistes, Programmeurs
Itération (Vitesse)Lente (Compilation, Redémarrage)Instantanée (Visuel)
Le Workflow Hybride (Recommandé)
  1. (C++) Le Programmeur crée les systèmes de base (fondations) en C++.
    • (Ex: AMyCharacter.cpp).
    • (Crée les UPROPERTY (ex: float Health) et les UFUNCTION (ex: TakeDamage())).
  2. (BP) Le Designer crée un Blueprint (Enfant) qui hérite de la classe C++ (ex: BP_Joueur hérite de AMyCharacter).
  3. (BP) Le Designer (dans l'Éditeur) :
    • (Inspecteur) : Règle les variables (UPROPERTY) (ex: Health = 150).
    • (Event Graph) : Assemble la logique (ex: Event OnOverlap -> (Appelle C++) TakeDamage(10)).
    • (Event Graph) : Implémente les événements (ex: Event OnDeath -> (Logique BP) Spawn Explosion VFX).
5.1 UE5 : Lumen (Global Illumination)

Lumen est le système d'Illumination Globale (Global Illumination - GI) et de Réflexions dynamique (temps réel) de UE5.

Le Problème (Avant Lumen)

Avant UE5, l'éclairage "indirect" (les rebonds de lumière, ex: la lumière du soleil qui rebondit sur un mur rouge et colore le plafond en rouge) était pré-calculé ("baked").

Ce "baking" (ex: "Lightmass") prenait des heures (voire des jours) de calcul et était statique (si vous déplaciez une lumière, il fallait tout re-calculer).

La Solution (Lumen)

Lumen calcule l'éclairage indirect et les réflexions en temps réel (dynamique). Si vous déplacez le soleil, l'éclairage de la scène est mis à jour instantanément.

Résultat : Itération artistique ultra-rapide, mondes dynamiques (ex: cycle jour/nuit, lampes torches).

Modes (Software vs Hardware)
  • Software Ray Tracing : (Défaut) Rapide, fonctionne sur (presque) tout.
  • Hardware Ray Tracing : (Meilleure qualité) Utilise les cœurs RT des cartes (NVIDIA RTX, PS5, Xbox Series X).
5.2 UE5 : Nanite (Géométrie Virtualisée)

Nanite est le système de géométrie virtualisée (micropolygones) de UE5.

Le Problème (Avant Nanite)

Un modèle 3D "ciné-qualité" (ex: une statue) peut avoir 10 millions de polygones. (Budget de polygones/frame : 1-5M polys).

Solution (Legacy) : L'artiste 3D devait manuellement créer des LODs (Level of Detail) :

  • LOD 0 (proche) = 50k polys
  • LOD 1 (moyen) = 5k polys
  • LOD 2 (loin) = 500 polys

Un travail long et coûteux.

La Solution (Nanite)

Avec Nanite, vous importez directement le modèle ciné-qualité (10 millions de polygones) dans le moteur.

Nanite analyse le modèle et génère automatiquement une représentation (micropolygone) qu'il peut "streamer" (diffuser) à la volée. Il ne dessine que les polygones (Clusters) qui sont visibles et de la taille d'un pixel.

Résultat : Niveaux de détail géométrique infinis, plus de "pop-in" de LOD, et un gain de temps de production artistique massif.

5.3 UE5 : Virtual Shadow Maps (VSM)

Problème : Nanite (5.2) permet des milliards de polygones. Les "Shadow Maps" (cartes d'ombres) traditionnelles ne peuvent pas gérer cette complexité (elles pixelliseraient).

Solution : VSM (Virtual Shadow Maps). C'est le "Nanite" pour les ombres. C'est un système de "shadow map" à résolution virtuelle (micropolygones) conçu pour fonctionner avec Nanite et Lumen (5.1) et produire des ombres dynamiques (temps réel) extrêmement nettes et stables, même sur des scènes immenses.

6.1 Outils Monde : World Partition

Problème : Comment créer un monde ouvert (Open World) (ex: 100km x 100km) ? On ne peut pas charger tous les assets (terrains, arbres, bâtiments) en mémoire en même temps (RAM/VRAM).

Solution (Legacy - UE4) : World Composition. L'artiste découpait manuellement le monde en "Levels" (sous-niveaux) et gérait leur chargement (streaming) manuellement.

Solution (UE5) : World Partition

World Partition (le système par défaut pour les "Open Worlds" UE5) automatise ce processus.

  1. L'artiste travaille sur 1 seul "Persistent Level" (Niveau Persistent).
  2. Il place ses assets (ex: une forêt, un village).
  3. En arrière-plan, UE5 assigne automatiquement ces assets à une grille (Grid) (cellules).
  4. Au Runtime : UE5 ne charge (stream) que les cellules (grilles) qui sont proches du joueur.

Résultat : Mondes ouverts massifs avec streaming automatique. (Fonctionne avec "Data Layers" (ex: charger/décharger la version "détruite" d'un bâtiment)).

6.2 UMG (UI Designer)

UMG (Unreal Motion Graphics) est l'éditeur d'interface utilisateur (UI) d'Unreal. (Similaire au "Canvas" d'Unity ou "Control" de Godot).

Widget Blueprint

L'UI est créée dans un "Widget Blueprint".

C'est un éditeur spécialisé (Drag & Drop) qui combine deux vues :

  • Designer (Design) : La vue "visuelle" (WYSIWYG) où vous glissez/déposez les contrôles (Boutons, Textes, Images, Barres de progression...).
  • Graph (Graphe) : Un "Event Graph" (Blueprint) standard, utilisé pour la logique de l'UI (ex: Event OnClicked (Button_1) -> Ouvrir Level "Options").
6.3 Outil : Sequencer (Cinématiques)

Sequencer est l'outil de cinématique (non-linéaire) d'Unreal (remplace l'ancien "Matinee").

C'est un "Adobe Premiere" ou "After Effects" intégré à l'éditeur.

Usage

Permet de créer des "Séquences" (.uasset) qui animent n'importe quoi dans la scène via une Timeline (chronologie) :

  • Caméras : (Mouvement, Focus (Focale)).
  • Actors : (Mouvement, Propriétés (ex: couleur de lumière)).
  • Animations : (Déclencher des animations de personnages).
  • Audio : (Déclencher des musiques, sons).

C'est l'outil utilisé pour les cinématiques de jeu ("Cutscenes") et la production virtuelle (VFX).

7.1 Outil : Chaos Physics & Destruction

Chaos est le moteur physique (développé en interne par Epic) de UE5. Il remplace l'ancien moteur (NVIDIA PhysX) utilisé dans UE4.

Chaos Destruction

Le point fort. Permet la destruction dynamique (temps réel).

Workflow (Éditeur) :

  1. Fracture Editor : L'outil (dans l'éditeur) pour "casser" un Static Mesh (ex: un Mur) en morceaux (Fragments), en utilisant des "Fractures" (Voronoi, etc.).
  2. Geometry Collection : L'Asset (résultat) qui contient tous les morceaux "fracturés".
  3. Simulation : Le moteur Chaos simule (dynamiquement) la chute/collision de ces morceaux lors d'un impact.
Autres (Chaos)
  • Chaos Cloth : Simulation de vêtements, tissus.
  • Chaos Vehicles : Simulation de véhicules.
7.2 Éditeur d'Animation (Animation Blueprint)

L'animation dans UE est (principalement) gérée par les Animation Blueprints (Anim BP), qui sont appliqués aux Skeletal Meshes (Meshs avec Squelette/Armature).

Éditeur (Anim BP)

Un Anim BP (comme les Blueprints) a deux graphes principaux :

Event Graph (Logique)

S'exécute à chaque "Tick" (frame). Rôle : Récupérer l'état (Variables) depuis le Pawn (Personnage).

(Event Graph - Tick)
1. Get Owning Pawn
2. Cast To MyPlayerCharacter
3. Get Velocity -> (Set 'Speed' variable)
4. Get IsFalling -> (Set 'bIsJumping' variable)
Anim Graph (State Machine)

Rôle : Définir la Pose (Animation) finale, en utilisant les variables (ex: 'Speed') du Event Graph.

C'est une Machine à États (State Machine) :

[État: IDLE] ── (Condition: "Speed > 0.1") ──► [État: RUN]
   ▲
   │
   └─ (Condition: "Speed < 0.1") ◄── [État: RUN]
   
(L'état "RUN" joue l'animation "Run_Loop")

Control Rig : (Moderne) Un outil (dans UE5) pour le "Rigging" (squelette) procédural et l'IK (Cinématique Inverse) directement dans l'éditeur.

7.3 Build & Packaging (Compilation)

"Packaging" (Empaquetage) est le processus (File > Package Project) qui compile le jeu final (ex: .exe) pour une plateforme (Target).

Processus de Build
  1. "Cooking" (Cuisson) : (Le plus long) Convertit tous les Assets (.uasset) en formats optimisés pour la plateforme cible (ex: Textures compressées, Shaders compilés).
  2. Compilation (C++) : Compile le code C++ du jeu (en mode "Shipping" / Release).
  3. Packaging (Empaquetage) : Met tous les assets "cuits" et le code compilé dans les fichiers (.pak) finaux.
Configurations de Build
  • Debug : (Débogage C++).
  • Development : (Défaut) (Inclut les outils de console, profiling).
  • Shipping : (La "Release") (Version finale optimisée, sans logs, sans console).