Blueprint Interface ref var I/O pins. Compilation --> frequent unhooking of pins

So I have an issue in which interface functions will, upon compilation [frequently, but not always], suddenly drop the connections of pins representing reference variables to these interfaces in objects that implement those interfaces. For example.

InterfaceA, contains Function1 that has an input pin for a reference var of InterfaceA, output pin of boolean.

ComponentA, implements InterfaceA, contains a true implementation of the function and uses the InterfaceA ref var.

ActorA, implements InterfaceA, has ComponentA attached. Implements Function1 simply by plugging in ComponentA’s implementation of Function1.

When I attempted a scaled down version of the situation in a fresh project, I could not replicate the problem; however, in my personal project, (Blueprint only) this issue will resurface frequently while working with any of the involved elements (the interface, its functions, the component, or the Actor that contains the component).

Pictures depicting my current structure can be found in the comments at this link:

In my example, BP_SkillUsingPawn (pawn) and BP_SkillUser (actor component) both implement BPI_SkillUser and BP_SkillUser’s functions are plugged into BP_SkillUsingPawn’s implementations of BPI_SkillUser. Every reference to a BPI_SkillUser as a pin within a BP_SkillUsingPawn or BP_SkillUser function it will cause the pins to disconnect. In this case, I am showing the SpawnSkillActor function which is one of the functions associated with the BPI_SkillUser interface. Perhaps it has something to do with the fact that the Blueprint Interface contains functions that require reference variables to itself?

Every time I compile, I will have to double check whether the pins have become unhooked (happens about 70% of the time). It was/is terribly irritating because since the inputs are reference variables, the objects implementing the interfaces will successfully compile even when nothing is plugged in. Took me over a week to realize the full extent of the issue and track down every single unhooked pin since there is no clear indication of where they are at the time of breaking off. Here are some example pictures… (crashed by the way, when I attempted to save after the compilation in the second image, but that’s more a reference to the above link compared to this one I suppose)

In my project certain things will cause this to happen 100% of the time, such as requiring a recompilation of the interface itself. However, it will sometimes happen even when it isn’t the interface itself that needs recompilation, and that’s what is especially throwing me off. That is why I gave the 70% frequency rating. I can’t tell what the other cases are.

Does this typically occur after specific changes are made or is it anytime you hit compile there is a chance of it occurring? If it occurs after changes, what specific changes did you make before the error occurs?

As I said, if I add a function or change an I/O pin’s variable type on an existing function (or even probably remove a function - haven’t tried that) on a Blueprint Interface, all instances of the interface within its own functions end up unhooking, so those are all specific changes that can be made. If you make one of those changes and then hit compile, the pins will become unhooked. I have also had it happen in other circumstances, but I can’t nail down what other things are triggering it. I know this because there are times I have found the pins unhooked even when I hadn’t even touched the interface itself in hours.

Do you have a copy of the asset that is causing this error you’d be willing to share? I’ll be happy to take a look and see if we can get some reproduction steps.

Here is a copy of my project folder. The assets in question are…

  • PrototypeContent/Blueprints/Components/BP_SkillUser
  • PrototypeContent/Blueprints/Pawns/BP_SkillUsingPawn
  • PrototypeContent/Blueprints/Interfaces/BPI_SkillUser

I would have just provided the individual assets, but, they are intertwined with others, so if you attempted to load them up, they wouldn’t compile without a lot of the others which, themselves wouldn’t compile without their required parts, etc. So I’m just providing the entire Content folder.

link text

Hi Envisioner,

Unfortunately I’m not seeing any disconnections or errors occur after making chnages/additions to any of the functions tied to your skill interface. Can you make a list of the exact steps I should take to reproduce this error with your content on my end?

Hi Envisioner,

We have not heard from you in several days. I am marking this thread as answered for tracking purposes. If you are still experiencing this error, please comment with the requested information.