get_widget_blueprint_tree
Retrieve a Widget Blueprint's widget tree with optional typed property and slot values to verify styles without launching a PIE session.
Instructions
Return a Widget Blueprint's widget tree as nested {name, class, children[]} AND, on request, the actual VALUES of its widgets and slots -- which is what makes verifying a style a cheap read instead of a PIE session. Off by default (a bare tree is what name-only callers want); three switches turn it on: property_paths reads exact dotted paths ("WidgetStyle.Normal.TintColor") on every node whether or not they still hold the default -- this is the oracle that closes a set_widget_property; include_properties reports only what DIFFERS from each widget's archetype, i.e. what this Widget Blueprint actually changed, instead of the ~120 inherited properties nobody reads; include_slot adds each widget's UPanelSlot class plus its own non-default values (position, anchors, padding, row/column). Values come back as TYPED JSON, not UE export-text. widget_name dumps one subtree instead of the whole asset.
Returns: { widget_bp_path: string, asset_path: string, widget_count: int, root_widget: string, dumped_root: string, include_properties: bool, include_slot: bool, include_navigation: bool, property_paths: [string], tree: {name, class, properties?, unresolved_property_paths?, non_default_properties?, slot?, children: [...], children_omitted?} }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| max_depth | No | Optional recursion limit (-1 = unlimited, the default). A panel cut off by the limit reports "children_omitted" instead of passing for a leaf. | |
| widget_name | No | Optional: dump only this widget and its descendants instead of the whole tree. | |
| include_slot | No | Emit each widget's UPanelSlot class and its non-default slot values under "slot" (default false). | |
| blueprint_name | No | Alias of `widget_bp_path` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `widget_bp_path`. | |
| property_paths | No | Optional list of property names or dotted paths read on EVERY node, emitted under "properties" even when the value is still the default. A path that does not exist on a given widget is listed in that node's "unresolved_property_paths" (normal: a WidgetStyle has no meaning on a TextBlock), never silently dropped. | |
| widget_bp_path | No | /Game path of the Widget Blueprint asset | |
| include_navigation | No | Emit each widget's six gamepad/keyboard navigation directions under "navigation" (default false). A widget with no authored navigation reports all six as Escape with has_authored_navigation:false -- which is what it will actually do in game, rather than an empty object the caller has to interpret. Author them with set_widget_navigation. | |
| include_properties | No | Emit each widget's editable properties that DIFFER from its archetype, under "non_default_properties" (default false). |