Game UI/ HUD in GDevelop

what’s the best way to handle game ui/hud in gdevelop?

I know should use external scenes and events. But I’ll go into detail about what I’m trying to achieve.

Im working on a metroidvania, I need standard HUD, dialogue box for npcs that is shown when talking to an npc, inventory ui, quest log ui and pause ui .

what’s the best approach to handle this in gdevelop?

use external layout and hide and show layers when I need them?

your help is appreciated.

…yes, actually. change the information to be relevant then show the layer

I have tried several methods, but I like having a separate layer for each panel of my UI. Then, I place one panel per external layout on its layer.

This way, all interfaces are on their own layer and have their own external layout, and I even go further: each external layout has its own external event sheet.

However, I have recently been trying to put everything into a custom object because it is easier to manage a part of the UI as one object rather than as many objects on a layer. But it takes longer to do because I have to create all the necessary conditions and actions to interact with the custom object, and back and forth with variables of my scenes.

this probably doesn’t help but when I wanted to implement a pause screen I of course made the game pause but then I just made the buttons spawn at specific points on screen with a really high z value. One ring to rule them all so one layer to rule them all?