Blueprint Compiler Error: Failed building connection with 'Master Class Reference' is not compatible with 'Child Class Reference'

I believe I’m running into a bug of some sort. Follow me here:

In the RPG I’m creating, I’ve built a master blueprint class for my character pawns. It’s pretty basic: the ‘■■■■■■■■■■■■■■■■■ class derives from ‘Pawn’, and contains all the custom variable and functions that every pawn in my game will need. Stuff like HP, MP, ATK, DEF, all that good stuff. Then I use the ■■■■■■■■■■■■■■■■ to make child blueprint classes that contain stuff specific to each individual pawn. It looks like this in the CB:

Next, I do the same thing for various spells the pawns can cast. There’s a MasterSpell class, and various children blueprints. The MasterSpell derives from Actor. The spells look like this:

Now here’s where things get weird. First, all of my pawns work great, as intended. All but one of my spells works well, too. The spell that does not work is Haste.

When I open the editor and attempt to play my game, I’m greeted with a blueprint compile error for the ‘Spell_Haste’. It looks like this:

All I have to do in order to “fix” this error is compile it. Once it’s compiled, I can play in editor and the spell works correctly, as intended.

Unfortunately, this “fix” does not allow me to save the blueprint, as the editor doesn’t seem to recognize this as having edited the asset. If I were to close and reopen the editor, the ‘Spell_Haste’ blueprint returns to being uncompiled. If I recompile the blueprint, I can play the game in editor again with no problems.

Additionally, checking out the Output Log when opening the editor shows that nearly every spell class blueprint I have produces similar Warnings (they’re all coded in a really similar fashion to what is shown above, mostly targeting different pawn stats like SPD, ATK, DEF, etc). However, Spell_Haste is still the only one to produce an actual error:

The error with Spell_Haste also prevents me from packaging the game (Win64).

Now, looking at the warnings and errors in the log, it seems as though all of them derive from the same source - where a child pawn class is not compatible with the MasterPawnClass. This doesn’t really make a lot of sense to me, as all of the child pawns in question must be compatible with the MasterPawnClass, simply because they are children of the MasterPawnClass. How could they not be compatible?

Either I’m doing something fundamentally wrong, or something went buggy. Any thoughts?

This is pretty much the only info I’ve been able to find to help me solve this issue:

https://answers.unrealengine.com/questions/71488/derived-blueprint-compiling-errors-and-inconsisten.html

Based on the info in that thread, it seems as if this is a bug that has been around for quite some time.

Simply removing ‘Spell_Haste’ from the project allowed me to package the game, but the warnings persist.

After removing the ‘Spell_Haste’ actor and successfully compiling the project, today I went in and recreated the ‘Spell_Haste’ actor using the exact same parent class and exact same blueprint code. This one again compiled successfully, but it does not break on editor startup and I was able to successfully package a build with a working ‘Spell_Haste’ actor.

Unfortunately, all of the warnings continue to persist. I’m pretty sure this is a bug of some sort… extremely odd behavior.