Description

Reproduced 3/3 times. User is unable to create a new TMap with bool key through Blueprints (which is the expected result)

Issue is technically a Regression, as the ensure does not occur in //UE5/Release-5.0 - CL 20979098 Binary. However, it's current state is closer to what it's supposed to be.

UPDATE: Upon reevaluation, TMap<Bool is being flagged as invalid for incorrect reasons, and has been since 5.0. Attempting to compile C++ files that include TMaps with keys that do not have a hash (such as FRotator) fails as expected.

Steps to Reproduce
  1. Create a new Blank C++ Project
  2. Create a new C++ Actor
  3. In the .h file, create a new TMap UPROPERTY with boolean as the key, e.g
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TMap<bool, float> MyInvalidMap;
  1. Save & Compile
  2. Open Project

Actual Result: An Ensure is generated at runtime claiming that bool does not have a hash, when it actually does. When creating a new Blueprint of the C++ Actor, the invalid UProperty is editable, but cannot be promoted to a variable.

Expected Result: TMap<Bools should not cause these issues. 

Callstack
[2022.11.22-19.13.12:142][ 76]LogStats: FPlatformStackWalk::StackWalkAndDump -  0.025 s
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: === Handled ensure: ===
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: 
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: Ensure condition failed: Property->HasAllPropertyFlags(CPF_HasGetValueTypeHash)  [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\PropertyMap.cpp] [Line: 921] 
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: Attempting to create Map Property with unhashable key type: FresnelStrengthActive_Key - Provide a GetTypeHash function!
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: Stack: 
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffc712eb8b5 UnrealEditor-CoreUObject.dll!FMapProperty::AddCppProperty() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\PropertyMap.cpp:921]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffc7128ad8a UnrealEditor-CoreUObject.dll!FProperty::FProperty() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Property.cpp:794]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffc712e2c0e UnrealEditor-CoreUObject.dll!FBoolProperty::FBoolProperty() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\PropertyBool.cpp:41]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffc7139dcc0 UnrealEditor-CoreUObject.dll!UECodeGen_Private::NewFProperty<FBoolProperty,UECodeGen_Private::FBoolPropertyParams>() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:5045]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffc713b5e98 UnrealEditor-CoreUObject.dll!UECodeGen_Private::ConstructFProperty() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:5152]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffc713b61f5 UnrealEditor-CoreUObject.dll!UECodeGen_Private::ConstructFProperty() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:5303]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffc713b641a UnrealEditor-CoreUObject.dll!UECodeGen_Private::ConstructUClass() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:5596]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffb7fb212f4 UnrealEditor-tampa.patch_4.exe!Z_Construct_UClass_AMyActor() [C:\Users\TomKatzman\Documents\Unreal Projects\tampa\Intermediate\Build\Win64\UnrealEditor\Inc\tampa\UHT\MyActor.gen.cpp:109]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffc713eef11 UnrealEditor-CoreUObject.dll!UObjectLoadAllCompiledInDefaultProperties() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectBase.cpp:769]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffc713d3e91 UnrealEditor-CoreUObject.dll!ProcessNewlyLoadedUObjects() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectBase.cpp:917]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffc8eabd89b UnrealEditor-LiveCoding.dll!FLiveCodingModule::AttemptSyncLivePatching() [D:\build\++UE5\Sync\Engine\Source\Developer\Windows\LiveCoding\Private\LiveCodingModule.cpp:600]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffc8eac3a57 UnrealEditor-LiveCoding.dll!TBaseRawMethodDelegateInstance<0,FLiveCodingModule,void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:475]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ff7eb4d85d9 UnrealEditor.exe!TMulticastDelegate<void __cdecl(void),FDefaultDelegateUserPolicy>::Broadcast() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:975]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ff7eb4cbff7 UnrealEditor.exe!FEngineLoop::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5625]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ff7eb4e287d UnrealEditor.exe!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:202]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ff7eb4e296a UnrealEditor.exe!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:107]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ff7eb4e5680 UnrealEditor.exe!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:244]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ff7eb4f71b4 UnrealEditor.exe!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:282]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ff7eb4fa516 UnrealEditor.exe!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffce54f7034 KERNEL32.DLL!UnknownFunction []
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error: [Callstack] 0x00007ffce58a26a1 ntdll.dll!UnknownFunction []
[2022.11.22-19.13.12:142][ 76]LogOutputDevice: Error:

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-170820 in the post.

1
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions5.1
Target Fix5.2
Fix Commit23340189
Main Commit23343616
CreatedNov 22, 2022
ResolvedDec 1, 2022
UpdatedFeb 9, 2023