I’m not sure if I’m doing something wrong or if it’s a bug.
I have this blueprint interface with one function.
It was implemented by two blueprints.
I’ve added one function to the interface and said function never appeared on the two blueprints.
I’ve tried to remove the interface (destroying the functions, not moving them to the blueprint) and to add it again. No luck there. So I removed it again.
The bottom of the issue:
Then I’ve simply tried to delete the blueprint interface from the project and there the editor mentions a reference from one of the two blueprints. But looking at the blueprint, I beg to differ.
I will force the delete, but if I’m not missing something obvious, it’s a bug.
The functions do not appear on their own when you add the interface into the blueprint. You must manually implement the members. I am not sure what you actually do but here is a tutorial which might help you check your workflow.
That being said, members of different objects do not always automatically refresh. For example Event Binders must be re-done after you change the interface of an event. Close and open your project and it should be fixed. (Sometimes invoking “Refresh nodes” or just closing the blueprint editor and reopening will fix it)
To be accurate, it depends on how the input and output are declared. (cf. Interface group on the left side)
While testing I tried to close and open the editor several times. I didn’t mentioned it because it seemed obvious that the issue was structural as per the invisible (*) non-memory reference. I probably should have.
Keeping a file copy of the interface file, force-deleting the blueprint interface from the project, restoring the file and adding the interface again fixed the issue.
I should probably make a bug report but I keep getting bug report suggestions by email on a safe machine while the UE4 editor is on an isolated windows machine.
(*) unless I was missing something, hence the original question.
I hate to ask obvious questions but… You did rebuild right?
I’m yet to try it on my end later today, but I’ve never had a new interface function not showing as far as I can recall.
Does it happen every time you make a new function in already inherited interface or just this once?
Just this once. I never had the issue before and I never had it after.
As I said, given that there was an “invisible” reference to the interface in one of the actors (showed when trying to delete, but not in the actor classes/interfaces), even after restarting, seems a big hint.
It’s not like the editor did not crash 2 or 3 times that day.
Then I would consider it a bug…
I am not sure if anyone could help you unless you isolate the problem and provide reproduction steps. (which might be harder than it seems)
It’s not harder that it seems to me. It’s basically impossible. Having a specific (random) crash may be part of the trigger.