So I guess that Interfaces aren’t supposed to be cast-able? I don’t know. That doesn’t make sense to me, but based on what it takes to repro this, I’m assuming that’s case.
Approximate Repro:
Make Blueprint Interface (IHero we’ll call this)
Make player pawn that implements above interface (we’ll call it Hero)
Make a new blueprint, (TestCrash in this case)
In TestCrash make a variable, “HeroInterface” that is of type IHero.
In Event Graph, make a [Event Begin Play] node. Drag [Get HeroInterface] onto graph.
(This is part that leads me to believe interfaces aren’t supposed to be cast-able.)
Make a [Get Player Pawn] node. Drag Pawn pin to make a [Cast to Hero] node. Delete [Get Player Pawn], and connect [Cast to Hero] to [Event Begin Play] so that you have
[Event Begin Play] – [Cast to Hero]
Connect HeroInterface to Object pin on [Cast to Hero]. Hit save, then hit compile.
Expected Result:
Probably some kind of error? Personally, my expect result is that it works, because why shouldn’t it?
Actual Result:
A crash so hard it will bruise your mother. Not only does it crash Editor, but if editor wants to open that blueprint on load, it will crash on project load. If you open Editor then drag Blueprint into folder via Windows Explorer, if you attempt to open blueprint it will crash again. So only way to fix this problem is to delete or otherwise get rid of blueprint and start over with it. Which is, you know, inconvenient.
I should mention as well that I did not actually repro this from a new scratch project. If you can’t repro, let me know and I will try from scratch.