Partly to educate myself on how to construct more “dynamic” code and partly to create new functionality I think may be useful to the UE4 community, I wanted to know what and where exactly in the source is responsible for making blueprint events possible. I am not talking about the events that you can declare in the header files through the use of either BlueprintNativeEvent or BlueprintImplementableEvent. I am specifically talking about events like Tick or Beginplay, which you can see in pretty much any blueprint class you create.
More specifically, I am especially interested in knowing about 2 particular examples:
What exactly is responsible for enabling a blueprint to create input
based events (i.e. where is the
functionality that allows any actor
derivative blueprint to call on the
axis and action events defined in the
What exactly enables certain blueprint events per default in a
blueprint class, by showing them in a
half transparant state, with a note
attached to them that says “This node is disabled and will not be called. Drag off pins to build functionality.”
No matter how deep I dig into the source code, I cannot seem to find anything about it, which I suspect is mostly just my lack of ability to comprehend it at my current level. The way I have understood it so far is that somewhere the data is stored that can allow someone to call on them in Blueprint (possibly through UFunction instances, but I am not sure about that). When the game starts, the code collects all the created events and (if it is an input event) binds them to a specific key. I reckon that the latter is what the InputComponent is responsible for. I am almost completely in the dark about the “during editor” bit.
Is there anyone out there able to explain this to me?