[Bug] Interface declared in Plugin crashes UHT

I’ve got a plugin that I’m writing and I’m trying to create an interface class declaration, but UHT/UBT is giving me some strange errors that appear to be a generation failure:

 Building UnrealHeaderTool...
2>  Target is up to date.
2>  Parsing headers for GroundBranchEditor
2>LogWindows : error : Windows GetLastError: The operation completed successfully. (0)
2>Error : Failed to generate code for GroundBranchEditor - error code: CrashOrAssert (3)

It seems like something is asserting or crashing, but how would anyone know from that error?

So what I’ve got as code in the .h file that gives this problem?

UINTERFACE()
class TACTICALAI_API UTestInterface : public UInterface
{
	GENERATED_UINTERFACE_BODY()
};

Which leads me to think that there’s something wrong with declaring UINTERFACE classes in plugins for some reason. Of course there’s no documentation that seems worthwhile for this, so I’m hoping some kind soul on answerhub can shed some light.

Anyone ever successfully managed to compile an interface within a plugin? Are there any particular restrictions?

OK, soo I figured out what was causing the crash. It appears that you cannot have the UInterface and the IInterface declarations different. I’d made a spelling error in the IInterface class declaration so they weren’t the same name. I’d commented out each class seperately and still got the crash, so it wasn’t until I spotted the naming error that it clicked.

So if you want an interface class, you need both UInterface derived class and a class with GENERATED_IINTERFACE_BODY with the SAME NAME declared alongside it, otherwise UHT dies.