Blueprint flow of execution

For the following senarios, this is what I think is happening. Please correct me if I’m wrong.

88037-unreal_1.jpg

If “InputAxis LookUp” event triggers, it’s like input X in MakeVector2D is not connected and is assumed 0.

The result of UpdateDelta+TriggerThreshold is not saved and is re-evaluated when needed by the second branch. But what if UpdateDelta wasn’t set? If I have a large graph of pure nodes should I save the result in a variable for optimization purposes, or unreal does it automatically when applied?

I’ve run into some more ambiguous (due to my lack of understanding) senarios, but unfortunately these are the only ones that come to mind right now.

Those are two different questions, i assume.

  1. It would constantly trigger one by one and change Mouse Delta to (axis value ; 0) or (0 ; axis value), depends which one is triggered.

  2. “Pure functions” getting called every time when any of their outputs used. Pure one is those which have no execute input. All which have execute, would have persistent output in scope of this functions, until they called again. To make your own function pure, you need to mark it “pure” in function details.

This question remind me something. You shouldn’t remove or add elements to array while For Each Loop execution goes on.

Thanks for the bonus tip!
So do you know if this:

88066-unreal_3.jpg

is the same as this:

88067-unreal_4.jpg

and I should do that to avoid unnecessary computation:

88068-unreal_5.jpg

I know im giving it too much thought, but the way blueprints work interest me greatly, but I’m too inexperienced as a programmer to look under the hood.

Last one i dont get, but yes.

You shouldnt bother with it, if math is expencive and big you should use c++ or math expression, all other stuff dosnt matter, they (nodes) all functions and they are slow.

Thx man. Last one was an example of caching a result yourself to reference it later so it wont get evaluated twice. I use math expressions wherever I can, but I have some UI stuff with over 50 pure calls that I believe get evaluated more than they should.