diff_project_config
Compare this Unreal project's Config/Default*.ini files against another project's to find settings that differ or failed to migrate, including collision channels, input mappings, and plugins.
Instructions
Diff THIS project's Config/Default*.ini against ANOTHER project's, aligned by section+key (pure file read via FConfigFile::Read; no world, no editor state). Surfaces settings that differ or failed to migrate: custom collision channels (GameTraceChannel/ObjectChannel under [/Script/Engine.CollisionProfile]), input mappings, enabled plugins ([Plugins]/[/Script/...]), and every other key. Perspective is THIS -> OTHER: 'added' = present in OTHER but not THIS; 'removed' = present in THIS but not OTHER; 'changed' = present in both with different value(s). Multi-value keys (array-of-struct like +Channels/+ActionMappings) are compared as sorted value lists so hash-ordering never yields a false diff.
Returns: { this_project_dir: string, other_project_dir: string, this_config_dir: string, other_config_dir: string, files: [ { file: string, this_exists: bool, other_exists: bool, this_section_count: int, other_section_count: int, added: [{ section, key, values:[string] }], removed: [{ section, key, values:[string] }], changed: [{ section, key, this_values:[string], other_values:[string] }], added_count: int, removed_count: int, changed_count: int } ], total_added: int, total_removed: int, total_changed: int, identical: bool }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Optional array of ini base filenames to compare (e.g. ["DefaultEngine.ini","DefaultInput.ini"]). Default: the union of Default*.ini present in EITHER project's Config folder. | |
| sections | No | Optional array of exact section names to restrict the diff to (e.g. ["/Script/Engine.CollisionProfile","/Script/EngineSettings.GameMapsSettings"]). Default: all sections. | |
| other_project_dir | Yes | Filesystem path to the OTHER project. Either the project ROOT (its 'Config' subfolder is used automatically) or a Config folder directly. |