I’m not sure why that happens, it most likely has to do with the way the OnDestroyed delegate is declared in C++. But you can easily fix it by using “Assign On Destroyed” on the blueprints creation menu instead of “Bind to On Destroyed.” What Assign does is bind the delegate and create a proper event that will be accepted.
But when I try to plug the red wire from my custom event (level blueprint) into the bind event, I get the “Delegate is not compatible with delegate (by ref)” error.
All I want to do is update the number of lives left, which the player pawn is keeping track of. This seems like something that should be easy to do.
-edit Figured it out. Was trying to create a new custom event in my level blueprint, not hunt for the one in the right-click menu, durrr.
Basically, spawn an Assign OnDestroy node. Then delete the assign ondestroy node and keep the custom event. Wire up to the Bind Even to OnDestroy node you have already on your screen. Delete the character respawn you have at the end of your Character_Respawn critical execution path, and then drag the execution pin out of the posses output, and spawn the Character Respawn event again. Wire up the Destroyed Actor nodes, and kablamo.
Aha. This helps a lot. Apparently the book I was using did it in the wrong order.
I’m using Unreal Engine 4.X By Example
An example-based practical guide to get you up and running with Unreal Engine 4.X
When I got this error, I had created a new event first, then tried to connect it to the “Event” pin on the left of a node.
The problem was the event I’d made took no arguments/inputs, so it didn’t match the signature that pin was looking for.
Instead of creating my events directly, what I did was drag from that Event pin out to the left, then choose “Add Event > Add Custom Event” from the context menu that pops up. That created an event that had the correct inputs/arguments by default, so I didn’t have to set them up to match.