CrimsonUI · Lesson 9 of 9

Show a Confirmation Dialog

Beginner4 minRuntimeUI

Before you start

  • Completed: Push Screens with Input Routing
Video coming soon

Chapters

1. Ask the messaging subsystem

CrimsonMessagingSubsystem (a Local Player subsystem) owns dialogs. Call the async nodes Show Confirmation Yes No, Show Confirmation Ok Cancel, or Show Confirmation Custom — each fires its result pin with Confirmed, Declined, Cancelled, or Killed.

Show Confirmation Yes No → branch on the ECrimsonMessagingResult.

C++ builds a descriptor and passes a result delegate:

cpp
UCrimsonGameDialogDescriptor* Descriptor =
UCrimsonGameDialogDescriptor::CreateConfirmationYesNo(Title, Message);
Messaging->ShowConfirmation(Descriptor,
FCrimsonMessagingResultDelegate::CreateUObject(this, &UMyScreen::OnConfirmed));

2. The dialog widget

The widget that appears is your subclass of `CrimsonConfirmationScreen`, assigned at Crimson UI → Confirmation Dialog Class (and ErrorDialogClass). It has four required BindWidget children — name them exactly: Text_Title, RichText_Description, EntryBox_Buttons, Border_TapToCloseZone.

The confirmation screen's required BindWidget hierarchy.
What's next
You have the full core loop: HUD, screens, dialogs. The docs take it further — tag-driven widget visibility, world-space indicators, tabs and lists, drag-drop, and MVVM — each as a standalone How-To on this same foundation.