this thread motivated me to “complain”: https://forums.unrealengine.com/showthread.php?59325-Multi-output-Pure-functions-Inefficient
From the thread:
The term “pure” is misleading. So far I did not find any information on whether there are any plans regarding this.
Most of the bugs I write and find are due to ‘pure’ nodes
See the thread for examples or this one: https://forums.unrealengine.com/showthread.php?55619-looking-at-target-object-while-rotating-around-it
(The SetActorRotation node uses the new actor location as basis so the rotation will be off by 1 degree)
Now having ‘pure’ functions without execution pins does result in less links. I don’t think that this is worth it.
Keep the concept of pure functions due to potential optimization benefits
Add execution pins to const functions (getters etc.) but allow the user to collapse them (similar style to pure nodes but with clear visual hints that the node is not a pure one)
the output pin of a collpased node may only be linked to one other input pin
a collpased node may only have one return value. Nodes with multiple return values may not be collapsed or need to introduce custom structs for their return value). This is in order to avoid connecting the individual output pins to multiple nodes
I would love to hear feedback on this.