Talking about Unreal Blueprints, did you know creating a new blueprint node is as simple as writing a C++ function and adding a reflection macro on top of it, that's it. It's freaking awesome.
I haven't tried that but it did seem straightforward. Personally I think it would be much more useful if you could go the other way around. Define a node sort of like an anonymous function/first class citizen kind of thing, and pop open a little code editor that lets you write the implementation with all of the boiler plate pre-generated.
The only time blueprints fail me are
1) Really nitty gritty networking stuff
2) More classic CS algorithmic stuff, with strings, arrays, sorting, etc.