get_blueprint_component_overrides
Audit which component properties a Blueprint actually overrode versus inherited, classifying real edits and ignoring localization or metadata noise.
Instructions
Per-property PROVENANCE on a Blueprint's component templates: which values this Blueprint actually OVERRODE and which it merely inherits. Over the same components as get_blueprint_scs_tree (native CDO + own SCS + inherited chain) it resolves the effective template down the SCS -> child ICH override -> ancestor SCS -> native CDO cascade, never minting an ICH override, and compares each editable property against a baseline -- the archetype by default, or the same-named template in other_blueprint for the "fork vs original" question -- with the ENGINE's equality (FProperty::Identical, PPF_DeepComparison) instead of exported text. Each result is CLASSIFIED (identical | real_override | text_localization_metadata_only | object_outer_only | export_text_only | type_mismatch | no_baseline), so FText localization and object-outer noise stop masquerading as edits. WARNING: component templates can go STALE in memory (values can flip just from an editor restart): pass verify_on_disk to cross-check the raw .uasset bytes -- for anything not string-ish it answers found:null / applicable:false, never a misleading false. Read-only. list_instance_overrides asks the same question about a PLACED ACTOR.
Returns: { blueprint_name, blueprint_path, other_blueprint?, other_blueprint_path?, baseline_mode, components:[{component, resolved, template_name, template_path, scs_variable_name, component_key_guid, matched_by_scs_node, component_class, source, declaring_class, resolved_from_class, authored_here, baseline_source, baseline_path, baseline_class, component_class_mismatch, properties:[{component, property, property_display, value, baseline_value, inherited_value, inherited_value_available, authored_here, declaring_class, resolved_from_class, template_source, baseline_source, kind, differs, identical_deep, export_text_equal, export_text_value, export_text_baseline, note, on_disk?}], properties_reported, properties_examined, properties_truncated}], components_examined, components_truncated, properties_examined, override_count, noise_count, identical_count, no_baseline_count, on_disk:{found,not_found,not_applicable}, templates_may_be_stale, success }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| only_editable | No | Only consider CPF_Edit properties (default true). Transient/DuplicateTransient/NonPIEDuplicateTransient/Deprecated are always skipped. | |
| property_name | No | Optional: restrict the audit to this one property (FName or authored name). | |
| blueprint_name | No | Blueprint asset path or short name to audit. | |
| blueprint_path | No | Alias of `blueprint_name` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `blueprint_name`. | |
| component_name | No | Optional: restrict the audit to this one component (exact variable name). | |
| include_native | No | Include native/CDO components (default true). | |
| max_components | No | Cap on components enumerated, 1..10000 (default 500). | |
| verify_on_disk | No | Cross-check string-ish values against the raw .uasset bytes of the package that owns the template (default false). | |
| other_blueprint | No | Optional: compare against the SAME-NAMED template in this other Blueprint instead of against the archetype (the "fork vs original" question). | |
| include_identical | No | Also emit properties that are equal in BOTH the engine comparison and the exported text (default false -- they are the vast majority). | |
| include_inherited | No | Include components inherited from ancestor Blueprints (default true). | |
| max_properties_per_component | No | Cap on properties examined per component, 1..20000 (default 1000). |