Overview
In C++ you can declare a custom operator==
to compare equality of arbitrary types. You can’t directly use it in blueprints.
For blueprint support, make a Blueprint Function Library with a function which does the equality comparison, and follows the patterns below:
- The function name must be prefixed with
EqualEqual_
- If you want to compare two
FMyType
values, the function must be calledEqualEqual_MyType
(Do not include theF
)
Following these conventions allows you to use the untyped equality nodes with your custom values similar to how many builtin types support it.
Note: There are a number of other patterns similar to this, such as NotEqual_
. Check engine code for examples.
Code example
UFUNCTION(BlueprintPure, meta=(DisplayName = "Equal (MyType)", CompactNodeTitle="==", Keywords="== equal"))
static bool EqualEqual_MyType(const FMyType& A, const FMyType& B);