Why some events can be bind on but not others?

I’m creating an actor component blueprint that needs to know when the OnReset event from the owner actor is called.

From my component, I can bind to the owner actor OnActorBeginOverlap event BUT I can’t bind to the owner actor OnReset event.

Why? I can’t understand the difference between one and another.

Anyone please?

You are confusing Event Dispatchers with Events.

You can learn more about general BP Communications (including dispatchers) in this Training Video: Blueprint Communications | Live Training | Unreal Engine - YouTube

Good Luck and have Fun.

Thanks for your answer, just i watched this video today :p.

Maybe I don’t understood what the video said. But I don’t know exactly why I can bind to my actor event OnActorBeginOverlap and I can’t with another actor event OnReset.

This image is from my component, I want to make something in the component when the OnReset event from my owner actor is called, only the OnActorBeginOverlap works but i can’t from blueprint :s (the node doesn’t show in the list…)

Oh I See what you reffering to. OnReset is not a Dispatcher so you cant bind to it. But you can make your own Dispatcher and Call that afterwards. Like that:

Hmmmm so the OnActorBeginOverlap is a dispatcher of an Actor, but OnReset is not, is only the receiver event of an Actor. Isn’t it?

In order to notify my components in OnResetLevel (I will make an interface for example) Have I to explicitly call them from the Actor OnReset callback?

Thank you :slight_smile:

OnReset is a Implemetable Event, something else (probably the Level) tells all Actors to execute OnReset. If they do something with it is up to you.

So you got these Options now:

  1. Your Actor Implements the OnReset and tells the Component directly what to do via direct Communication. Has to be done in a Base Class or on each Actor individually.

  2. Your Actor Implements OnReset, gets all Components and Calls a Interface function OnActorReset and passes self as Parameter (optional but convinient). Any Component that Implemented that Interface will get notified including a (Optional) refference to the Actor who called it (your owner).

  3. Like explained before your Actor fires a Dispatcher and Component hooks up to it. But thats still requieres the Actor to call it OnReset.

  4. Modify Engine Code but I guess thats to much to ask now :stuck_out_tongue_winking_eye:

Edit: as you can See all Options except 4. require you to Implement OnReset on the Actor side. ^^

Thank you!!!

Sorry for this super aggressive necro. Ive spent 2 weeks on this and Im really struggling.

This was super nice to read. its the best explaination of Onreset Ive heard so far.

Im really confused on how to use the dang ■■■ thing.
Im trying to use Onreset to reset the actor back to its original starting point without having to load the level every time.

I just cant work out how to implement it. How do you actually trigger the Onreset?
I cant seem to call it like a function or bind it to any keys.

I see you reference a few times the worlds “actor implements the Onreset” or “it still requires the actor to call it Onreset”

But how do you actually get an actor to call or implement the Onreset event?

All the youtube tutorials etc Im having a similar issue understanding.

How do you actually trigger the Onreset?

The Game Mode can call Reset Level:

But how do you actually get an actor to call or implement the Onreset event?

And actors can override it as they see fit:

Thank you so much!!! Oh sheeez it works! Im so beyond gassed. Ive been banging my head for so long!

I get a wedge of errors over the user interface but assumably this is due to the string being so basic. I havent destroyed the actor or respawned or anything like that yet. Errors I can fix! lol

What an absolute win. I cant thank you enough.

1 Like