I could really use this, I’m currently just prefixing my private events with a ‘$’ but they still cluter search.
Right click your event nodes and choose “convert to function”. Besides that this is clean, functions support a lot more, including access specifiers. only difference is that you can not use delay nodes in a function, not that you should ever need one.
Can’t use timelines or play anim montages from functions though
I didn’t know timelines could be started like that, good to know. For montages this still lacks all output pins for “on complete” “on notify start” etc. And calling that code from within montage with notifies doesn’t cover all uses.
Any async nodes are indeed not supported. Normally you can just use delegate bindings to be notified when something changes but there are plugins and some engine nodes which require you to be able to use async nodes. I often create a graph for timelines (if any), a graph for input event nodes, a graph for animation notifies, to keep graph clean. I never needed graph for anything else and do everything with blueprint functions or c++.
Good news everyone, Epic finally added it in 5.3! Thank you Epic!
Good news everyone, Epic finally added it in 5.3! Thank you Epic!
Could you point to a link or give a brief description of how to do this in 5.3? I’m looking, but I must be missing it somewhere…
Selecting a node will have an access specifier in the details panel. Visually, it doesn’t change the node at all though…
@JoSf
Here’s what I see (in 5.3.2) when I select the custom event node in either the graphs hierarchy panel on the left or the node’s tile in the blueprint editing pane.
The Details panel shows a field for the event name, but no other fields like the access specifier I get when I select a function.
Have I misunderstood where I should be looking, or made a mistake in how I’ve set this up?
You need to disconnect bind first. Then you will see more settings. After that, you can reconnect it
It does, they dont show up in context menu anymore from other bps.
Visually - by that I mean (and a bit of a pet peeve of mine) is that the node could have an indicator on the node itself to communicate the private setting, like being named “Private Custom Event” instead of just “Custom Event” or some sort of a symbol / logo like you’d find in some other nodes like i.e latent actions.
Ahh, that makes sense. Thanks @Monster1234! The public interface of my blueprint is much cleaner now!
Is there a similar way to disable Calling an Event Dispatcher from an outside blueprint? I want other blueprints to be able to Bind to it to handle the event, but I want to restrict Calling so it can only be fired from inside “this” blueprint. (That’s probably a topic for another thread though)
And yes, I agree with JoSf that it would be great to have a visual difference in the events’s icon/node to clearly distinguish the public interface from private/internal details at a glance.