Interface problem - graph already exists / event not callable

Background
I am messing around with a simple shooter simulation, where I want a number of automated turrets to be communicating with a Sim Controller - using BP Interfaces. I had the interfaces working for a simple case of sending info to from the BP_Turret_3 to the Sim_Controller - however when I wanted to include a message with a return value (in this case the ID of a turret as designated by the controller), I found the interface message was not allowing an event to be generated (but only the interface function call). So I had a simple hand-shake approach where the turret requested an ID using Request_Turret_ID, and the Sim_Controller then fired off a Allocate_Turret_ID message immediately (which is listened to by the originating Turret).

(inside the BP_Turret_3 - Master is a reference to Sim_Controller)

(inside Sim_Controller - New param is a poorly named variable of class BP_Turret_3)

Problem
Not sure why when I include an output in the interface message it no longer is able to generate an event. However, even with the simple bi-directional message it doesn’t work… saying that a "Graph named ‘Request_Turret_ID’ already exists in Sim_Controller…even though it doesn’t appear to. When I search for references in Sim_Controller for Request_Turret_ID, I get only the reference to the event (which I’m trying to create/compile) and the interface function.

322709-question2d.jpg

Question (1) Is there a problem with including outputs to interface messages? (2) Any idea how to identify what is causing the ‘graph already exists’ error? And yes - I do COMPILE everything before hand.

4 Likes

If I understood the issue correctly it’s because once you create an output for an interface function you cannot use it as an event anymore even if you then remove the output. The return node has been created and cannot be deleted as far as I know. The only way I know how to fix this is to delete and recreate the function.

7 Likes

Deleting and restarting seemed to work - though this confuses me as to how re-compiling would not have resolved the return node issue. This seems incredibly inflexible in terms of potential changes to interface messaging later in development requiring potential significant changes. I wonder if this is a byproduct of using blueprints vs doing coding in C++ directly. Anyway - thank you for that (if any one else can provide a reason, would be much appreciated for learning purposes).

1 Like

Love it, thanks. Still worked in UE5

2 Likes

Yeah =( Still not fixed.

1 Like

I came here too for the same problem :sweat_smile:
I thought that after two years the issue would be fixed :joy:

1 Like

Yeah this is a problem that should be fixed or recognized because without this post I wouldn’t have found an answer.

1 Like