Macro libraries try to support guid-based renaming: when a specific macro is renamed blueprints using the old name will automatically point to the new name and work properly. However, this fixup happens after the blueprint has been loaded so it still outputs a hard error about a missing import. In practice this is worse than showing an error in the compile log because it leads to phantom errors that are invisible to in the editor but will stop a cook or build process from succeeding. This has happened multiple times internally and lead to confusing bugs that were fixed by resaving all of the blueprints referencing the macro.
Renaming a macro should either check out the blueprints referencing it and dirty them, or somehow stop the load error from happening
LoadErrors: Error: /Game/Blueprints/PinTesting/PinTest_Base : Failed import for EdGraph /Game/Blueprints/PinTesting/PinTest_MacroLib.PinTest_MacroLib:PinTestingLibMacro Referenced by export K2Node_MacroInstance /Game/Blueprints/PinTesting/PinTest_Base.PinTest_Base:EventGraph.K2Node_MacroInstance_4
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-141499 in the post.
1 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.27, 5.0 |
Target Fix | 5.0 |
Created | Feb 4, 2022 |
---|---|
Resolved | Feb 10, 2022 |
Updated | Jan 25, 2023 |