The UInterface two-class patternUnreal interfaces look unlike anything in standard C++ because reflection needs a UObject-derived