So, for the past few days I have been trying to hunt down how UE4 handles delegates, more specifically the ones that are not defined as BlueprintImplementableEvent within the class (the input delegates). I managed to get a decent understanding of how the engine handles things, but there is one thing that still escapes me; how the Actor class generates the input delegates.
I have noticed the following code in the AActor class:
DECLARE_DELEGATE_RetVal_ThreeParams(bool, FOnProcessEvent, AActor*, UFunction*, void*);
I kinda get the other delegates in the class, but I don’t understand what this one does. I know it has a relation with the ProcessEvent function in AActor, but I cannot find anywhere how it is called and what it is responsible for. I did manage to track down the FOnProcessEvent to some utility classes, but that only made me more confused.
Essentially, what I want to know is the following:
- What does this delegate do?
- How does it do it?
- What is the FOnProcessEvent good for? I have found other delegates with an F signature, but this one is the odd one out, since I could actually trace it back to somewhere else in the code.
- If necessary: How would I go making a custom FOnProcessEvent?
- If none of this has anything to do with input delegate generation, then where can I find that functionality? Other than that, I wasn’t able to find anything else.
What I want to be able to do is the following; to be able to generate a custom blueprint, not based on the actor class, where you are able to place an input event (either axis or action) in the blueprint graph. I have already explored options of making my own blueprint graphs but from what I managed to understand, that won’t solve my problem (not to mention kinda out of my league).
Is there anyone who can help me out?