Interface function with only inputs

So i’m trying to create an interface that has get and set functions for another class blueprint. The functions with output show up fine and i’m able to override them but the set functions that only have input dont show up and i’m unable to choose the variable to set the values to. I’m not sure what i’m doing wrong. Any input would be appreciated.

8434-box_interface.png

After a couple of days, I still cannot figure it out. For now, I simply add an output to my functions so that they show up and I can override them. This, of course, is not the proper solution.

Hey amorales2,

I’ve attempted to repro this issue, but my interface functions with only inputs are showing up correctly when I search for them in other implemented blueprints. What version of the editor are you running?

-Steve

I think amorales2 found a bug. I just tried to do a really minimum blank project and can’t see the inputOnlyFunc I created, but can see it in my context menu when I drag a pin off a “self” node.

I was using 4.2 and have updated to 4.2.1 but it still wont work. I have also tried this in older versions. To double check, I just now created a new blank project and added a blueprint and a blueprint interface (named Blueprint and Blueprintinterface). I created three functions in blueprintinterface called ‘inputOnly’ (takes in 1 bool as input) , ‘OutputOnly’ (returns 1 bool as output) and ‘InputAndOutput’ (takes in 1 bool and returns 1 bool). compile and save.

I then go to the class blueprint i created and click blueprint props and at the bottom left select add under the interface tab. When I select the interface I made, two of the three functions show up on the left side. The function that doesn’t show up is the one that takes in a single bool only.

I took a screenshot and attached it to help describe what I’m experiencing.

I forgot to mention that I did this last attempt in 4.2.1

i’m glad to see it isn’t JUST me. whew*

good point btw. I can also see it if I try to access it in the context menu but its worthless if I cant override it in the class blueprint to make it to want I want

Just to clarify: What you guys are experiencing is that the function doesn’t show up in the Functions section of the MyBlueprint tab, but you are able to call the function if you search for it in the right-click context menu–is that correct?

Looking over this, what is happening is that Functions from a Blueprint Interface with no output are considered Events by the Blueprints that implement that Interface. Those won’t show up in the Functions section of the My Blueprints tab. What you would need to do to override their functionality is search for the Event version of Function from the right-click context menu and add that Event to your Event Graph.

Our documentation page on this doesn’t reflect this information currently, but we are working to have it updated.

Here’s the documentation page, if needed: https://docs.unrealengine.com/latest/INT/Engine/Blueprints/UserGuide/Types/Interface/UsingInterfaces/index.html

Hope that helps!

-Steve

Ok I understand how its working now. BUT I don’t see why it shouldn’t show up as a function the same as the other functions. This is just me suggesting it should behave this way in order to be more intuitive from a programmers perspective.

Either way thanks for the help!

It makes sense that function with no output is treated as an event, because no value return thus no execution dependencies.