We should modify FindBestMatchingFunc_Internal for the case of UObject pins to search for a best matching subclass instead of just use the base UObject comparison.
We could also exclude any function defined outside of an Engine module too, that way any custom added operators are not added to type promotion.
UFUNCTION(BlueprintPure, meta = (DisplayName = "Equal Custom Object", CompactNodeTitle = "==", Keywords = "== equal"),Category = "Test") static bool EqualEqual_LobbyIdLobbyId(UCustomObject* A, UCustomObject* B) { return A == B; }
Result: it uses the default UObject equals comparison, not the subclasses
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-156031 in the post.
1 |
Component | UE - Gameplay - Blueprint Editor |
---|---|
Affects Versions | 5.0 |
Created | Jun 7, 2022 |
---|---|
Updated | Mar 17, 2023 |