UIFlow

Godot 4.6 · Free MIT

UIFlow

Treat menus like a stack, not a spaghetti of scenes. Push pages by class, animate the handoff, bind data, and keep gamepad prompts honest.

GDScript core · C# bridge · Asset Library ready

UIFlow icon — a paper page with Godot mark and a UI flowchart
  1. Page class_name scene
  2. Push stack + lifecycle
  3. Transition fade · slide · custom
  4. Ready focus · prompts · bind

Built for the menu you ship twice

Pause, shop, inventory, dialogue — the same stack, the same lifecycle, fewer one-off managers.

Stack navigation

UIFlow.push(ShopPage) resolves the scene, runs enter/exit hooks, and keeps modal pages from leaking input downward.

Gamepad-native UX

Directional focus stays on the top page. ActionBar chips follow the last device. AxisBinder maps the right stick onto sliders.

Workflow glue

PageOpener, VisibilityGroup, ChildPool, ChildrenSwitcher — scene-local helpers so buttons don’t grow custom scripts.

Pro when you need depth

Theme Editor, page graph, DataGrid, TreeView, Survivors demo — productivity on top of the same Free core.

One class. One push.

Scenes live under res://UIScene/. Routing talks in types, not path strings.

class_name HomePage extends UIFlowPage

func _on_opened(data: Variant = null) -> void:
    UIFlow.set_default_focus($PlayButton)

func _on_back() -> void:
    UIFlow.push(SettingsPage)

Start with Free. Grow into Pro.

MIT core for every project. Pro adds editor tooling and advanced components when the UI graph gets serious.