@Sunday111 This isn’t an abstract class as far as C++ is concerned. It’s just marked up that way for UE. UE instantiates an instance of every UCLASS (see above about CDO), so we can’t do pure virtual functions For Real.
The alternative then becomes this bastardized horror we see before us. Err… “this solution we see before us”.
At least dump the call stack guys, jeez. “check(false)” can do it, so can this macro. The joys of an older code base: so many [mis]features. And the code base just keeps getting worse as it ages.
I wonder how many times someone has tried to get momentum behind rewriting UE internally? The business case for it is terrible, until it isn’t, and by then it’s too late. Hurray for software development!