How does blueprint system work?

Hey there, I have an Idea for which I would eventually change how the blueprints work in the engine. So I was trying to find some explanation how the bp system work. I looked at the kismet code, Uedgraph, Uedgraphpin and all related classes but they seem to be editor only. I am more interested in the c++ world.

So my questions:

  • who controls the execution flow between nodes ? Is there a runtine manager or something ?
  • i didnt see any execution flow pin variables in the uedgraph class definition. Is this held somewhere else ? Blueprint class maybe ?
  • are these nodes and pins converted to c++ classes and functions ?
  • where are the pre defined blueprint functions ? I would like to look at their definitions and usage. (E.g. GetHittResultUnderCursor)
  • who is responsible for managing events ?

You can find a lot of information about how the blueprint system works in the online documentation. You can for example have a read at this link.

well it doesnt go into details there. it doesnt say anything about the runtime as well. how are the things are run by the engine ?