The official documentation for Delegates says the exact opposite to this post, and this post is correct while the official documentation is wrong.
Official Unreal Engine Delegates Documentation:
The macro used is determined by the signature of the function(s) to be bound to the delegate
Your post:
First of all, a delegate definition describes how you want to call the delegate, not the signature of the functions it’s bound to
Just to be absolutely clear:
The macro used is determined by the signature of the function
A delegate definition is not described by the signature of the function
3 hours. 3 hours trying to pass payload data to a template. To a “one parameter delegate”.
I get that the macro used is somewhat relevant to the signature of the function, but it’s how you want to call the delegate, not the signature of the function it’s bound to.
I thought I was going insane.
Also, the documentation on docs.unrealengine incorrectly shows the example
MyDelegate.BindRaw( &MyFunction, true, 20 );
in the Payload Data section. You shouldn’t use BindRaw there, you should use BindStatic, which I found was correctly documented in the comments of the Delegate.h class in the actual engine source code.
I hate whoever wrote that page of documentation.