Créer un menu pause avec des boutons UMG dans Unreal Engine 5
Tu veux qu’une touche mette ton jeu en pause et affiche un menu avec « Reprendre » et « Quitter » ? Ce guide t’explique comment construire les boutons avec UMG, réagir au clic, figer le jeu, afficher la souris et rendre la main au jeu en sortant du menu.
Construire le menu et ses boutons
Crée un Widget Blueprint pour le menu, avec un Canvas Panel à la racine et une Vertical Box dessus pour empiler le titre et les boutons.
Un Button est une zone cliquable. Il accepte n’importe quel widget dedans, mais un seul enfant. Pour une icône et un texte, passe par une Horizontal Box. Un Button est une variable dès le départ : rien à cocher.
Réagir au clic avec On Clicked
Dans le Graph du widget, tu choisis ton bouton et tu ajoutes l’événement On Clicked : un nœud rouge apparaît. Relie-lui par exemple Quit Game : le jeu se ferme (dans l’éditeur, ça arrête la partie).
Un bouton a d’autres événements :
- On Pressed : il vient d’être enfoncé ;
- On Released : il vient d’être relâché ;
- On Hovered : la souris passe dessus, pratique pour un petit son ;
- On Clicked : le clic complet, le plus utilisé.
Attention à Visibility : le choix Not Hit-Testable (Self & All Children) (HitTestInvisible dans la documentation) garde le widget visible, mais ni lui ni ses enfants ne reçoivent les clics. Sur le bouton lui-même, On Clicked ne part plus.
La souris et le mode d’entrée
Le mode d’entrée décide qui reçoit le clavier et la souris.
- Set Input Mode Game Only : tout va au jeu, parfait pour un HUD qu’on ne clique jamais.
- Set Input Mode UI Only : tout va à l’interface, le personnage ne bouge plus. C’est ce qu’on veut pour un menu pause.
- Set Input Mode Game And UI : les entrées vont au jeu et à l’interface. On bouge tout en cliquant, comme dans un inventaire ouvert en jeu.
Pour cliquer, il faut aussi voir la souris. Le nœud Set Show Mouse Cursor, appelé sur le Player Controller, la montre ou la cache.
Piège : en UI Only, même la touche qui a ouvert le menu ne passe plus au jeu. Il faut donc un bouton pour en sortir.
Figer le jeu avec Set Game Paused
Set Game Paused, avec Paused coché, fige le jeu : le personnage, les objets qui tournent, les Timelines s’arrêtent. Décochée, tout repart. Les widgets, eux, marchent toujours : tes boutons restent cliquables pendant la pause.
Les grandes étapes du menu pause
- Une touche (dans le personnage, pas dans le HUD) demande l’ouverture du menu.
- Le menu est créé une fois avec Create Widget, puis affiché avec Add to Viewport.
- À l’ouverture : Set Show Mouse Cursor coché, Set Input Mode UI Only et Set Game Paused coché.
- Sur le bouton Reprendre, tu fais l’inverse : Remove from Parent, Set Input Mode Game Only, souris cachée et jeu relancé.
Le pas à pas complet, avec les captures de l’éditeur, des quiz et un mini-projet, est dans le chapitre « Interface (UMG) » du cours.
Deux détails à retenir. Le ZOrder dit qui passe devant : plus le nombre est grand, plus l’écran est au-dessus, donc le menu doit avoir un ZOrder plus grand que le HUD. Et Remove from Parent retire le menu de l’écran, mais il existe toujours dans sa variable : pour le remontrer, refais Add to Viewport, sans nouveau Create Widget.
Sans Set Input Mode Game Only, le mode UI Only resterait en place : le menu disparaît, mais ton personnage ne répond plus aux touches. En sortant d’un menu, rends toujours la main au jeu. Enfin, évite la touche Échap : dans l’éditeur, elle arrête la partie. Prends une autre touche, comme P.
Questions fréquentes
Mon menu s’affiche, mais je ne vois pas la souris. Pourquoi ?
Par défaut, la souris est cachée en jeu. Ajoute Set Show Mouse Cursor coché, sur le Player Controller.
Après Reprendre, mon personnage ne répond plus aux touches. Pourquoi ?
Il manque Set Input Mode Game Only : sinon l’interface garde toutes les touches.
Ma touche de pause ne fait rien quand je la mets dans le HUD. Pourquoi ?
Un HUD n’écoute pas le clavier. Mets la touche dans le personnage, qui appelle l’événement du HUD.
Sources officielles
- Creating a Pause Menu, version 4.27 (documentation Epic)
- UButton (documentation Epic)
- ESlateVisibility (documentation Epic)
- Remove from Parent (documentation Epic)
- Creating Widgets (documentation Epic)
- Set Input Mode UI Only (documentation Epic)
- Set Game Paused (documentation Epic)
- Events (documentation Epic)
- Add to Viewport (documentation Epic)
À lire aussi : créer un HUD avec UMG, Cast To et références Blueprint et Enhanced Input.
Tu veux construire ton propre menu pause ? Suis des leçons courtes, des quiz et des mini-projets pour le réaliser étape par étape, à ton rythme.
Apprendre Unreal Engine 5 gratuitement