audit_widget_style
Sweep Widget Blueprints to find widgets whose style differs from a designated reference, reporting each deviating property path and both values.
Instructions
Sweep Widget Blueprints and report every widget whose style DEVIATES from a reference widget -- the "who is off-theme" question, which is the one that scales badly by hand once there are more than a couple of screens. You designate one widget as the truth (reference_bp_path + reference_widget_name), list the property paths that define the style (dotted paths work: "WidgetStyle.Normal.TintColor"), and this reports, per matching widget, which of those paths differ and what each side holds. Comparison is on the property's exported text, so it is type-agnostic and reports a real difference rather than a formatting one. Pair it with apply_widget_style_preset, which can copy those same paths off that same reference widget to FIX what this finds.
Returns: { reference, property_paths, widget_blueprints_scanned, widgets_compared, deviating_count, matching_count, entries: [{ widget_bp_path, widget_name, widget_class, deviations: [{path, actual, expected}], unresolved_paths: [string], matches: bool }], truncated }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| recursive | No | Recurse into subfolders (default true). | |
| folder_path | No | Content folder to sweep for targets (default /Game). | |
| max_results | No | Max Widget Blueprints to load (default 500). | |
| target_class | No | Only compare widgets of this class, matched with IsA (defaults to the reference widget's own class, which is almost always what you want). | |
| blueprint_name | No | Alias of `reference_bp_path` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `reference_bp_path`. | |
| property_paths | Yes | The paths that define the style, e.g. ["WidgetStyle.Normal.TintColor","WidgetStyle.NormalPadding"]. A path that does not resolve on the REFERENCE is an error (the reference must define the style); one that does not resolve on a target is reported as unresolved, not as a deviation. | |
| include_matching | No | Also report the widgets that already match (default false). | |
| reference_bp_path | No | /Game path of the Widget Blueprint holding the reference widget (the style source of truth). | |
| reference_widget_name | Yes | Name of the reference widget inside that Widget Blueprint. |