Binded event only firing the first time?

Hi all.

I’m having an issue and I can’t for the life of me figure it out.

When my player XP changes, it calls an event dispatcher in the XP blueprint component like so…

In my widget which displays the XP, I bind to this dispatcher like so:

It fires the event on the first XPChanged, but whenever it dispatches again, the event doesn’t fire. I have checked that the widget doesn’t get destroyed, I have also checked that the blueprint does indeed get to the point where it dispatches the call by following the blueprint as I play.

What am I missing here? Something silly I’ve overlooked?

Hi @crEA-tEch

Well you mention silly, but that last image you are binding the same event to itself?
You need to have one thing trigger another

Binding Events | Blueprints Visual Scripting for Unreal Engine - Second Edition (packtpub.com)

Hi @High500

It is a different event, just with the same name. I’ve changed the name (below), but still hasn’t fixed it :face_with_raised_eyebrow:

ok that makes sense now, im surprised the name didnt cause a conflict tbh.

Ok have tried adding the bind to begin play? or is that not possible?

How are you triggering the event?

If you look at the first screenshot, it is called in a blueprint component.

It’s weird that the first call works, but then my subsequent calls do not get fired

Any chance your character changes (eg. death + respawn) ? If the widget is persistent (playercontroller) but the character is not, then you’ll have to rebind the event every time you change character.

The character never changes, although that is a good point to bring up. But the BPC never gets disconnected from the character as far as I can see. As I can see the XP going up in the editor, it just doesn’t pass to the bind in the UI widget