Engine version: 4.25.4
Detailed description of the issue:
Under “Determining If a Class Implements Your Interface”.
It says “For compatability with both C++ and Blueprint classes that implement your interface, use any of the following functions:”
However, the Cast<To>(From *)
option is not correct. This does NOT work when the passed From
pointer is an object based on a Blueprint class which implements the interface via blueprints (i.e. Class Settings → Interfaces). The other two options (the first two) do work on Blueprint objects. So, in order to test Blueprint class Interface implementation from CPP, it seems the best option is:
if (OnThisObject->Implements<UMyInterface>())
{
IMyInterface::Execute_MyInterfaceFunction(OnThisObject);
}