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
input.ini). -
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?