FPropertyBase constructor does not handle a TMap/TSet property.
Following workaround can avoid this error.
explicit FPropertyBase(FProperty* Property) : PropertyExportFlags(PROPEXPORT_Public) , DelegateName (NAME_None) , DelegateSignatureOwnerClass(nullptr) , RepNotifyName (NAME_None) , IntType (EIntType::None) { checkSlow(Property); EArrayType::Type ArrType = EArrayType::None; EPropertyFlags PropagateFlags = CPF_None; FFieldClass* ClassOfProperty = Property->GetClass(); if( ClassOfProperty==FArrayProperty::StaticClass() ) { ArrType = EArrayType::Dynamic; // if we're an array, save up Parm flags so we can propagate them. // below the array will be assigned the inner property flags. This allows propagation of Parm flags (out, optional..) PropagateFlags = Property->PropertyFlags & CPF_ParmFlags; Property = CastFieldChecked<FArrayProperty>(Property)->Inner; ClassOfProperty = Property->GetClass(); } #if 1 // workaround to this issue else if (ClassOfProperty == FMapProperty::StaticClass()) { PropagateFlags = Property->PropertyFlags & CPF_ParmFlags; MapKeyProp = MakeShared<FPropertyBase>( CastFieldChecked<FMapProperty>(Property)->KeyProp ); Property = CastFieldChecked<FMapProperty>(Property)->ValueProp; ClassOfProperty = Property->GetClass(); } else if (ClassOfProperty == FSetProperty::StaticClass()) { ArrType = EArrayType::Set; PropagateFlags = Property->PropertyFlags & CPF_ParmFlags; Property = CastFieldChecked<FSetProperty>(Property)->ElementProp; ClassOfProperty = Property->GetClass(); } #endif // end of workaround if( ClassOfProperty==FByteProperty::StaticClass() ) {
Result
Build failed with following error
Fatal error: [File:E:\dev\UnrealEngine-4.25.3\Engine\Source\Programs\UnrealHeaderTool\Private\ParserHelper.h] [Line: 447]
Unknown property type 'MapProperty /Script/NativizedAssets.NewBlueprint_C__pf1010915279:bpf__InterfaceFuncTest__pf:bpp__NewParam__pf'
[Callstack] 0x00007ff7dfdf3a56 UnrealHeaderTool.exe!FPropertyBase::FPropertyBase() [E:\dev\UnrealEngine-4.25.3\Engine\Source\Programs\UnrealHeaderTool\Private\ParserHelper.h:447]
[Callstack] 0x00007ff7dfe68191 UnrealHeaderTool.exe!FHeaderParser::PostPopNestClass() [E:\dev\UnrealEngine-4.25.3\Engine\Source\Programs\UnrealHeaderTool\Private\HeaderParser.cpp:10255]
[Callstack] 0x00007ff7dfe0ebe1 UnrealHeaderTool.exe!FHeaderParser::CompileDeclaration() [E:\dev\UnrealEngine-4.25.3\Engine\Source\Programs\UnrealHeaderTool\Private\HeaderParser.cpp:5771]
[Callstack] 0x00007ff7dfe633ec UnrealHeaderTool.exe!FHeaderParser::ParseHeader() [E:\dev\UnrealEngine-4.25.3\Engine\Source\Programs\UnrealHeaderTool\Private\HeaderParser.cpp:8378]
[Callstack] 0x00007ff7dfe639d3 UnrealHeaderTool.exe!FHeaderParser::ParseHeaders() [E:\dev\UnrealEngine-4.25.3\Engine\Source\Programs\UnrealHeaderTool\Private\HeaderParser.cpp:8571]
[Callstack] 0x00007ff7dfe65700 UnrealHeaderTool.exe!FHeaderParser::ParseRestOfModulesSourceFiles() [E:\dev\UnrealEngine-4.25.3\Engine\Source\Programs\UnrealHeaderTool\Private\HeaderParser.cpp:8508]
[Callstack] 0x00007ff7dfe5ee19 UnrealHeaderTool.exe!FHeaderParser::ParseAllHeadersInside() [E:\dev\UnrealEngine-4.25.3\Engine\Source\Programs\UnrealHeaderTool\Private\HeaderParser.cpp:8868]
[Callstack] 0x00007ff7dfe877d1 UnrealHeaderTool.exe!UnrealHeaderTool_Main() [E:\dev\UnrealEngine-4.25.3\Engine\Source\Programs\UnrealHeaderTool\Private\CodeGenerator.cpp:6723]
[Callstack] 0x00007ff7dfe8b66b UnrealHeaderTool.exe!wmain() [E:\dev\UnrealEngine-4.25.3\Engine\Source\Programs\UnrealHeaderTool\Private\UnrealHeaderToolMain.cpp:111]
[Callstack] 0x00007ff7dfe8ecd0 UnrealHeaderTool.exe!__scrt_common_main_seh() [d:\A01\_work\6\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
[Callstack] 0x00007ffeb8b97bd4 KERNEL32.DLL!UnknownFunction []
[Callstack] 0x00007ffeba10ce51 ntdll.dll!UnknownFunction []
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-99276 in the post.
0 |
Component | UE - Gameplay - Blueprint Compiler |
---|---|
Affects Versions | 4.25 |
Target Fix | 4.26 |
Created | Sep 9, 2020 |
---|---|
Resolved | Sep 14, 2020 |
Updated | Apr 28, 2021 |