Blueprint: Create an interface function with no return value and it doesn't get copied to class blueprints that add it.

This is with 4.4 download version. I noticed that when I set up a interface function with no return value, it wasn’t copied:

  1. Create a Class Blueprint and call it X
  2. create an interface Blueprint and call it IY
  3. Add a function called Name that returns a string to IY
  4. To IY, add a function called Source that has one input of type X, pass by reference
  5. Create a new blueprint called Z
  6. Add IY to Z

Z should now show one function, Name, but no sign of the second function Source.

Edit: It appears this one has existed for a while: https://answers.unrealengine.com/questions/44191/bug-blueprint-interface-function-does-not-show-up.html

Hi jCoder,

There is a known issue with interface functions without output not appearing in the My Blueprints menu under the Functions category. It does exist though and can be accessed via the right-click menu or node library. Please let me know if this work around does not help until it is fixed. Thank you for your understanding.

Hi, without a return value, they will not show up in the BP class file, that is correct, and as pointed out it is a known bug. However, what is not mentioned here is that you will also not be able to access the graph to override the interfaces if they have no return value, even if you call them from the context menu.

As a work around, add a bool output to each node. You don’t actually have to USE the output for anything, but having the output will both make them show up in your BP and allow you to edit the function graph. Hope that helps.

Regards,
Tony