Blueprint claims compile error at startup, won't play

When I close the editor and start it back up, I can’t play my scene because the editor claims that one specific blueprint has a compile error. I open the blueprint and the red icon is over the compile button signifying an error, but there is nothing in the compiler results window about what the error might be. If I hit compile, it has no more issues. It will play from then on, but only for that session. If I close the editor again, it will claim a compile error again. This only happens on this specific blueprint.

This is for the iTween library I’m porting: [Open Beta] Procedural On-the-Fly Animation in UE4: iTween! - Blueprint - Unreal Engine Forums

I have a smattering of other BPs that do similar operations (in fact, it’s mostly copy-paste for the framework, then I build from there). This specific operation moves a component of a BP over time. It’s not much different from the operation that moves an actor over time, it just does it for a specific component.

I’m using SceneComponent as the object that I move with the operation because it seems to be the base class of all components.

Each of these operations derives from a class called iTweenEvent because they all use a common group of (locally set) variables. The error here seems to stem from that fact, as the error on every variable node says that because this is not an iTweenEvent_C, “self” doesn’t work. This is untrue because all of these operations derive from iTweenEvent, so they should be iTweenEvent_C objects. No other similar BPs have this issue, only this one.

As this is a library for others to use, I can’t ask my users to go through and manually compile BPs one-by-one every time they start the engine.

I’ve tried copy-pasting the nodes from other successful BPs, I’ve tried remaking the entire thing by hand using no copy-pasting, I’ve tried renaming them, I really don’t know what else to do here.

The only thing I can think of that’s different is using a SceneComponent instead of an Actor for my tweening operations. Again, this works after I compile once, but only for that session. I really don’t know where else to go from here!

Here’s a copy of the library: http://www.mediafire.com/download/ix229bx9wa67xbc/iTween+compile+error+build.zip

Repro steps:

  1. Unzip archive into base “Content” folder for your game
  2. Open engine
  3. Save
  4. Close Engine
  5. Open engine again
  6. Try to play scene

This is where you’ll see a message about a compile error for iTComponentMoveFromTo. Open it up and compile it and it works, but close the engine and try again and you’ll end up with the same results.

Thank you so much for looking into this.

Looks like one of your nodes needs a reference to self - you can drag off the pin and set ‘get reference to self’ and see if that fixes it. Hard to say without more context, but I’d look at that.

Thanks for commenting! Unfortunately this isn’t the issue - the issue is that the engine seems to think that this BP is not derived from iTweenEvent. This is underscored by the fact that adding a self pin like you suggested creates new errors on said self pin, citing a type mismatch - that would mean that the engine thinks this BP is not derived from iTweenEvent.