Changing parent class which implements the same BP_Interface creates ghost functions !

Using 4.8.2

If you have a class “A” which is implementing a BP_interface and you change its parent to be class “B” which is also implementing the same BP_interface and after that you reset the class “A” parent to be the default “Actor” class. All the inherited functions remains in the blueprint and you can’t delete them. It does not even allow you to add the same BP_Interface to the BP “A” and does not print any error either !
If you duplicate the function, you cant get rid of the duplicate which has a different name either !

Seems like a bug ! Any suggestion ?

Hi ,

I haven’t been able to reproduce this error on my end. Can you reproduce this in a clean, blank project with no additional content? What specific steps are you taking to recreate this error?

Sure thing !

Create blueprint interface “BPI_FN” with any function inside.
In this example I have 1 function called “returnText

Create blueprint “BP_A” of “Actor” class.
in “BP_A” add “BPI_FN” as an interface

Create blueprint “BP_MASTER” of “Actor” class.
in “BP_Master” add “BPI_FN” as an interface

So far, all good.

in “BP_A”, in class settings, change the parent class from “Actor” to “BP_MASTER
A window pops up, click “reparent

At this point “BP_A” inherits the interface from “BP_MASTER
Function “returnText” is still in the list of the functions of “BP_A” and you cant delete it any more !

Creating a third BP “BP_MASTER_Child” as the child class of “BP_MASTER” by right clicking on “BP_MASTER” and choosing “Create child blueprint class

BP_MASTER_child” inherits the “returnText” function and as expected it does not lists it its function lists

Now, in “BP_A” reparent the class from “BP_MASTER” to default “Actor

You still wont be able to delete the “returnText” from “BP_A

Try adding the “BPI_FN” as an interface to the “BP_A” again. you wont be able to do so !

link text

Hi Worlofpolygons,

I was able to reproduce this and have entered a bug report, UE-19062, to be assessed by the development staff.