You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
GetProjectProperties uses PropertiesCache collection (hashmap) to store project properties indexed by PropertyCacheKey struct (.uproject path + platforms + configurations). However, it didn't work as expected because PropertyCacheKey has array members that are reference types. Without a custom hashing implemented, this key would generate different hash codes even if elements stored in the arrays were the same. As a result, querying the same properties multiple times would generate multiple entries in the cache e.g.
GetProjectProperties("foo.uproject", {UnrealTargetPlatform.PC}, {UnrealTargetConfiguration.Debug})
GetProjectProperties("foo.uproject", {UnrealTargetPlatform.PC}, {UnrealTargetConfiguration.Debug})
would create two entries for PC/Debug.
Resolved by implementing the full set of Equals, GetHashCode and comparison operators.
#preflight 630e8d14556fc14dce7d11c5
#rb David.Harvey
#jira UE-162001
#rnx
[CL 21720344 by Wojciech Krywult in ue5-main branch]
43 KiB
43 KiB