How do I create my own blueprint node with C++?

You only do that if you want to create custom kind of node, most things can be solved by functions