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 []
Why does the REMOVE method of map container remove elements have memory leaks?
How does TextureRenderTarget2D get TArray<uint8> type data?
How to delete some elements correctly when deleting an array loop?
How do I set a material as a post-processing material?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
UMG RichText not appear image when packaged
What is the difference between Camera and CineCamera?
What controls of umg have mouse wheel events in UE4.27?
How to assign a value to a member of UMG's UMaterialInterface pointer type in C++?
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 |