compare_objects
Diffs two live Unreal Engine objects in the same world property by property with engine equality, separating real differences from FText localization and outer noise.
Instructions
Diff TWO LIVE objects property by property at the same instant, using the ENGINE's own equality (FProperty::Identical + PPF_DeepComparison) rather than exported text, so FText localization identity and object-outer differences are classified as noise instead of being reported as real differences. Use it for "instance vs its CDO", "fork vs original", "this actor vs that one". Accepts world, which resolves BOTH paths in the SAME world (e.g. two live actors inside the server world); to compare the same actor ACROSS worlds — server vs client — use snapshot_object + diff_object_snapshots, which is what a replication check needs. list_instance_overrides diffs a placed actor against its archetype and also tells you which package carries the override; diff_blueprints diffs the AUTHORED graphs instead of live values.
Returns: { object_path_1: string, object_path_2: string, same_class: bool, same_type: bool, equality_predicate: string, differences: [{property, difference, kind, value_1?: typed_value, value_2?: typed_value, export_text_1?, export_text_2?, note?}], difference_count: int, noise_counts: object, noise_count: int, noise?: [...], world: string, world_name: string|null, world_package: string|null, world_type: string|null, net_mode: string|null, pie_instance: number }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| world | No | Optional world selector applied to BOTH paths: absent/'editor' (default) | 'pie' (ambiguous: PlayWorld, else the first PIE context) | 'server' (the PIE world with authority) | 'client' | 'pie:N' | 'game' (alias of 'pie'). It cannot straddle two worlds — one selector, both objects; an UNRECOGNIZED value is an error naming the worlds that exist, never a silent fallback. | |
| include_noise | No | Optional (default false). With equality_predicate='identical', also emit under `noise[]` the properties the engine considers EQUAL but whose exported text differs (FText localization identity, object outer). They are ALWAYS counted in `noise_counts` whether or not this is set. | |
| object_path_1 | Yes | Path or name of the first object (full object path, asset path, CDO/archetype, or dotted "Actor[.Component[.Subobject]]" by internal name; in a live world the first segment also matches the editor LABEL) | |
| object_path_2 | Yes | Path or name of the second object, same resolution as object_path_1 and in the SAME world | |
| equality_predicate | No | Optional 'identical' (DEFAULT, FProperty::Identical + PPF_DeepComparison — what the engine itself calls equal) or 'export_text' (raw ExportTextItem_Direct(Defaults=nullptr, PPF_None) string compare, kept only for callers that depend on its over-reporting behavior). |