For the UI, I use a combination of Common UI and layer pattern.

Right now, there are 2 layers, registered in the W_Base widget and mapped with a tag.

You can push a widget for every layer using the function:

image.png

If you add multiple widgets to the same layer, be mindful of their order, as only the last one added will be displayed.

When a widget is deactivated, the system automatically falls back to the previous widget in the stack and displays it.

<aside> ⚠️

Widgets MUST derives from AstActivatableWidget, otherwise they’re not accepted in the Add function.

</aside>

Check W_MainMenu flow to see an example of how this system works.