I want to know how the blueprint interface work. If I call a function(1) using a blueprint interface and connect the out exec pin of the call to another function(2), will the two functions run at the same time, or only after the first completes can the second be processed?
Currently I am using a for loop to call, say, hundreds of functions on different actors, and I need to assure that the functions run in a correct order. I’m afraid that the loop may continue going whereas the function called is not finished in other blueprints.
I guess the order is always correct, but as I cannot find anything on google, I feel compelled to post it here.
It will always go in the order of the connected nodes. If you want to ensure one is run before another, use a sequence node or make an array and pass it into a for each loop
So no matter how complicated the called interface function is, the following nodes behind the interface call (in this blueprint) are always run after the called blueprint completes its function outside, right?
Actually I have used a test to prove that the order is incorrect. I placed an actor in the level which was called by the level blueprint through interface to delay and then print “test complete”. And the level blueprint was set to send the message and then print “after test” without delay.
The result was that the level blueprint went on to print “after test” without waiting for the complete of the called function “test complete”.