An inteface function with "self" named return variable doesn't show up in implementing BP editor

If you have a BP interface that has a function that only returns an actor variable with the name “self”, the implementing BP class editor doesn’t show the function.

The first image doesn’t have the “interfaces” drop down menu on the left side, while the second image has it.

With “self” name: http://i.imgur.com/hp4Xifc.png

With something else: http://i.imgur.com/Yowwu2X.png

Is this some sort of reserved word? Would be nice to get a warning about it, or even an error during compilation.

Hi jonimake,

  • Does this occur in a clean, blank project with no additional content or is it limited to one project?
  • What steps can I take to reproduce this on my end?
  • Is this limited to one type of blueprint actor implementing the interface or does it occur in any blueprint calling the interface?

Happens in blank project too.

Steps being:

  1. Create blank project
  2. In blank project create a blueprint interface
  3. Create a blueprint class with the actor being the parent type (not sure if need to be actor type parent)
  4. In the interface, create a function that has one output. Name “self” and type actor.
  5. Compile interface.
  6. In the other blueprint, in class settings, add the interface you just created.
  7. Compile
  8. Normally, the interface function should be visible under “interfaces” category on the implementing BP class.

This seems to also happen in other blueprints that call the interface function, so not just in the implementing class. http://i.imgur.com/jmkPL9S.png

In the image I just added a variable with the interface type and made the calls to the interface functions. Also note that the function0 is showing up as an event and not as a function like function1. Both have actor variables as output types, but the one where its named “self” doesn’t show up.

Unfortunately I have not been able to reproduce this on my end. Do you have a sample project this is occurring in I can take a look at? I’ll be happy to try and see if I can recreate this on my end.

Here is a sample project: https://dl.dropboxusercontent.com/u/19527343/interfacetest.

There are two classes and the interface with two functions. One of the classes implements the interface, the other one just has variables of the interface type and the implementing class.

Hi jonimake,

I have entered a bug report, UE-26161, to be assessed by the development staff. Unfortunately, I’m not certain this would be beneficial. What are you attempting to do with this interface? Perhaps with some clarification I could better understand what is occurring and possibly help find a reasonable workaround to the issue you are experiencing.