When making a function, why are the nodes are greyed out?

Hi. I noticed that when I make a function blueprints (so that I can use it across various class blueprints), the nodes are greyed out. This surfaces a problem because I want to link 2 boolean variables together.

Those two. What I want to happen is that when a character overlaps an actor, it turns on that boolean (a powerup). When that boolean is turned on, it executes a certain event. Now, I used to have this in the level blueprint, but the issue with that is that it only works with one instance of the actor (powerup), so I can’t really mass-replicate it across the map.

What would be a way to solve this? If the nodes are meant to be greyed-out, then what is another way I can communicate with class blueprints without using the level blueprint (that works for this)?



Take a look at this page on Blueprint Interfaces. “Interface functions have no implementation. They exist simply as a definition of inputs and outputs. These can be used to send data through the interface, or can be overridden within any Blueprint that implements that Interface.”

What you’ll need to do is inside the Blueprint that you want to pass information to, select the Blueprint Props option and in the Details panel under Interfaces, click the Add button to add the interface.

There is additional information in this thread as well: