requiring a blueprint to override a c++ function

The best I got so far was to change the function to BlueprintNativeEvent, and in the C++ implementation of this function, throw an assert. Less than ideal since it moves something that should be able to be detected at compile time to run time.