Enhanced Input dans Unreal Engine 5 : actions, contextes et Triggers
Comment une touche fait-elle avancer ton personnage dans Unreal Engine 5 ? Avec Enhanced Input. Ce guide t’explique les quatre éléments du système : l’Input Action, l’Input Mapping Context, les Modifiers et les Triggers. Tu sauras aussi pourquoi une action ne se lance parfois pas. Tout est vérifié sur la documentation officielle d’Epic Games.
Le principe : séparer l’action et la touche
Enhanced Input est le système de touches d’Unreal 5. Il sépare deux idées : ce que le joueur veut faire (sauter) et la touche qui le lance (Espace). Changer une touche ne casse donc rien. Tu peux aussi en ajouter une pour la manette.
Les événements de touche simples (comme E ou P) marchent encore, parfaits pour un test. Pour les vraies commandes de ton jeu, passe par Enhanced Input.
L’Input Action : ce que le joueur veut faire
Une Input Action est un asset qui dit « cette action existe » : sauter, bouger, tirer. Elle ne connaît aucune touche. Son nom commence par IA_.
Le réglage Value Type dit quelle valeur l’action donne :
- Digital (bool) : oui ou non, par exemple pour sauter.
- Axis2D (Vector2D) : deux nombres X et Y, par exemple pour marcher.
Dans le modèle Third Person, IA_Jump est en Digital (bool), car on saute ou on ne saute pas. IA_Move est en Axis2D (Vector2D) : X donne gauche / droite, Y donne avant / arrière.
L’Input Mapping Context : les touches
Un Input Mapping Context (IMC) est une liste : pour chaque Input Action, les touches, boutons ou sticks qui la lancent. C’est ici, et pas dans l’action, qu’on choisit les touches. Son nom commence par IMC_. Un jeu peut avoir plusieurs IMC : à pied, en voiture, dans un menu. Une même touche peut servir dans deux IMC.
Un Modifier retouche la valeur d’une touche avant qu’elle arrive à l’action :
- Negate rend la valeur négative : 1 devient −1. C’est utile pour aller à gauche.
- Swizzle Input Axis Values change l’axe : la valeur passe de X à Y.
- Dead Zone ignore les tout petits mouvements d’un stick.
Donner l’IMC au joueur : les grandes étapes
Un IMC rempli ne fait rien tout seul : il faut le donner au joueur. En résumé :
- Tu crées une Input Action par action (IA_).
- Tu les ranges dans un IMC avec leurs touches et leurs Modifiers.
- Au début de la partie, tu donnes l’IMC au gestionnaire de touches du joueur (Enhanced Input Local Player Subsystem) avec Add Mapping Context.
- Dans le graphe, tu réagis à l’événement de chaque action.
Le pas à pas complet, avec les captures de l’éditeur, des quiz et un mini-projet, est dans le chapitre « Caméras, contrôles et cinématiques » du cours.
Add Mapping Context prend aussi une Priority. Si deux IMC actifs utilisent la même touche, le plus prioritaire (le plus grand nombre) passe en premier et bloque ceux en dessous. Remove Mapping Context retire un IMC quand le contexte change.
Réagir à l’action : événements et Triggers
Dans un graphe, chaque action donne son événement, par exemple IA_Jump. Il a plusieurs sorties :
- Started : la touche vient d’être enfoncée.
- Triggered : l’action part.
- Ongoing : la touche est tenue, l’action attend encore.
- Completed : c’est fini, par exemple touche relâchée.
- Canceled : abandonnée avant de partir.
Un Trigger, réglé dans l’Input Action ou sous une touche de l’IMC, décide quand l’action part. Sans aucun Trigger, elle se comporte comme Down : elle repart à chaque image tant que la touche est enfoncée.
- Pressed : part une seule fois, à l’appui.
- Released : part une seule fois, au relâchement.
- Hold : part après un appui tenu un certain temps, réglé dans Hold Time Threshold. Parfait pour une attaque chargée.
- Tap : part seulement si on relâche vite.
Questions fréquentes
Mon action ne se lance jamais, pourquoi ?
Deux oublis fréquents. Soit l’action n’est pas dans l’IMC avec une touche. Soit l’IMC n’est pas donné au joueur : il faut appeler Add Mapping Context au début de la partie.
Pourquoi mon sprint ne marche pas avec Maj, Ctrl ou Alt dans l’éditeur ?
Maj, Ctrl et Alt servent aussi à l’éditeur : ils peuvent ne pas marcher quand tu testes dans l’éditeur. Essaie une autre touche, ou lance Standalone Game (menu à côté de Play) : le jeu s’ouvre dans sa propre fenêtre.
Mon action se répète sans arrêt, comment faire un seul tir par appui ?
Sans Trigger, l’action se comporte comme Down et repart à chaque image. Ajoute un Trigger Pressed pour qu’elle ne parte qu’une fois à l’appui.
Sources officielles
- Enhanced Input (documentation Epic)
- Designer 09: Sprint Input Action (documentation Epic)
- Add Mapping Context (documentation Epic)
- Remove Mapping Context (documentation Epic)
- InputTriggerDown (documentation Epic)
- InputTriggerPressed (documentation Epic)
- Coder 03: Configure Character Movement (documentation Epic)
À lire aussi : Pawn, Character et Controller, la caméra Spring Arm à la troisième personne et créer ton premier projet.
Tu veux ajouter ta première action au clavier dans un vrai projet ? Le cours te guide pas à pas : des leçons courtes, des quiz et des mini-projets, à ton rythme.
Apprendre Unreal Engine 5 gratuitement