I don’t even know what question to ask at this point. I made a parent class BP_BaseCharacter that makes interface calls. I am experiencing issues with a child class of the “BP_BaseCharacter” that will receive interface calls.
Basically, I want BaseCharacter to Event-Interact with the child-BaseCharacter. For some reason, I am getting an error “Cannot override ‘interface_C: :Interact’ which is declared in a parent with a different signature”.
What in the world is going on?
Update: Might be unrelated… but now my project crashes on launch.
Have you made sure that the function override in the child class has the same signature as in the interface/base class? Also, are the declarations public/protected so that the child class can override them? It’s what is stated in the errors, otherwise there is not much to work with.
You probably solved this by now, but for anyone else encountering this in the future there is a bug in 5.5 that if you add an input to a BPI after a child has been created this will happen. re-parent the child bp and you will be good to go.
Reparent the child BP to what? If I have a parent class with all the functions I like, and the child class builds on top of that, in my experience, if I reparent the child class to some other class, it erases all the parent’s functions and I’m back to creating the character from scratch anyway.
My way around this mess has been to build a new class from scratch. But in the future, I do hope to use an interface function for character on character (PvE) assassinations and such. Thanks for the suggestions. I’ll post back here when I cross that bridge.
Come to find out, you can’t over-ride this thing this particular way. You can’t call an interface function on an actor that is also calling the same interface function.
Example: Character 1 cannot call func-Interface-Interact-A on another character that has the same interface function func-Interface-Interact-A. Some kind of logic loop or whatever.
So, I created a new pawn class and am doing interface stuff through that. It seems to be working well.