Back in November as part of the Games4Good conference in Baltimore, MD, I gave a talk about creating custom blueprint nodes in C++.
With this you can create blueprint nodes that have way more flexibility and functionality than you can get just through UFUNCTION markup.