Accepted answer (in UE4 answerhub) to: "How can I create Blueprints with multiple exec output pins in C++?" Does not work for multi exec + data?

The issue that you’ve encountered is because functions are only ever evaluated once. Even when they have multiple exec outs like your first example, the best a function can do is choose one to activate and then be done. They have no way to to be re-executed and choose a different output.

If you look at the macro used for loops, you’ll notice that they involve a physical loop in the exec at some point to return control back to the loop after the body has been completed. You just can’t do that from within a single function.

That’s the bad news. The good news is that there is a C++ solution should you be so inclined and that is Custom K2 Nodes. There’s two flavors of them, the easier one basically allows you to create node macros from C++ and do all sorts of amazing things. I built a For-Each node that worked for Maps (the container, not the asset) which was basically impossible to do from the blueprint macro editor.

Early this year I wrote a tutorial Improving UE4 Blueprint Usability with Custom Nodes that tried to explain most of the knowledge I had gleaned since the existing docs and tutorials were basically non-existent.

I would be curious to know what you feel needs to be improved with the for-loop. It’s never really struck me as a node that has any real problems.