click_pie_widget
Fires a live UMG widget's named event in a running Play-In-Editor session, triggering bound click handlers so UI flows can be tested headless.
Instructions
Fire a LIVE UMG widget's event in the running PIE session (game thread): resolve a UWidget by name among the active viewport UserWidgets (reusing the read_pie_widgets walk) and BROADCAST its named BlueprintAssignable multicast delegate (default OnClicked). Unlike read_pie_widgets (read-only) this MUTATES runtime state -- it runs the exact bound handlers a real click would, including the client->server RPC path, so equip/inventory/craft UI flows can be driven headless instead of by a human (driving them via call_function bypasses that RPC path and yields false negatives). Errors clearly if no Play-In-Editor session is running or the widget/event is not found.
Returns: { success: bool, widget_name, resolved_widget, resolved_class, event, is_bound: bool, fired: bool, player_index, child_name?, world: string, world_name: string|null, world_package: string|null, world_type: string|null, net_mode: string|null, pie_instance: number } -- is_bound is false when the delegate exists but has no bound handlers (broadcast is still a safe no-op).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| event | No | Optional (default "OnClicked"): BlueprintAssignable multicast delegate to fire (e.g. "OnClicked", "OnPressed", "OnReleased"). | |
| world | No | Optional world selector: absent/'pie' (default: PlayWorld, else the first PIE context) | 'server' (the PIE world with authority) | 'client' | 'pie:N' | 'game' (alias of 'pie'). In a 2-player PIE session EVERY client has its OWN widgets, so the default may well read the other player's HUD. | |
| child_name | No | Optional: after resolving widget_name, drill into a descendant widget with this name (the resolved widget's own WidgetTree if it is a UserWidget, else a named child in its subtree) and fire the event on THAT widget instead. | |
| widget_name | Yes | Required. Name of the target UWidget in the live tree (as reported by read_pie_widgets), e.g. "ConfirmButton". Matches a widget inside an active viewport UserWidget's WidgetTree, or a top-level UserWidget by its own name. | |
| player_index | No | Optional (default 0): when set, only consider viewport UserWidgets owned by the local player with this index (single-player PIE resolves globally). |