I want to know if there is any way to see the C++ code that is behind blueprints. When you create blueprints, is C++ code created behind?
Blueprints have virtual machine, C++ is only created if you have nativisation turned on and it’s done only during packaging, then you should find generated code files somewhere in Intermidiate folder of your project. The generate code is not made to be human readable and there no way to efficiently modify it as it gonna be regenerated anyway on each packaging.
That said, the most nodes in blueprints are C++ functions, all nodes with “f” icon are direct binding of a function from C++ code. Remove spaces from node name and search for function in API refrence, the “Target” pin also shows in which class function is if it’s not static function. But you need to note that some nodes have custom name set and some functions are only wrappers of other C++ due to original class inaccessibility or unsupported features of blueprint, there either in UGameplayStatic (which some function are also useful in C++ programing) or classes with “Blueprint” or “Kismet” in name. Then when knowing which C++ you can go to UE4 GitHub and search for code of that function if you want to see how it works, API refrence got header file location so cpp should be near, you can also search for files by class name without U or A prefix.
And yes, as you may notice while viewing them, it easy to make extra nodes yourself same way by just binding your C++ functions
Other nodes are hard coded nodes extended from UK2Node, search for K2Node in github and you sould find a bunch. It a lot harder to play with them as they also have compilation code and node UI code.