I created a simple button. And I added a delay so that when player presses button, it will take certain amount of time before door will start opening. problem is that delay won’t delay anything. When I run game, I press button and door will open (or close) immediately! I added one delay before I unlock button again (To prevent button from being pressed multiple times, and that one does work properly. Here is Blueprint code I am using. highlighted node is one that doesn’t do anything.
As far as I understand Sequence Node, is that all will be called in order but without any delay. Meaning if you have your delay in Then 0 it will consequently not Delay Then 1 Sequence but just follow-ups in Then 0 if there was one.
As Martin correctly mentioned, a Sequence node will run through each event without delay. Your solution will work for you in this case, but be aware when using a Sequence that a delay will only delay what follows it in event, but will not delay next event from firing. So in example above, you have a delay at beginning of your second event, which will delay door opening nodes, but Play node in third event will fire before delay has finished and thus before door opening begins. Generally, if you need events to follow each other with any sort of passage of time, you should link them all together in same event. Sequence will fire each event virtually simultaneously.
how is this not a bug? i often use sequence to split up large chains of code, for sake of readability. i expect sequence to, as name suggests, execute code in sequence, and not just hit and run. you should really consider fixing this, and introduce a NoWaitSequence or whatever, for those who actually need this very specific behavior. or leave Sequence as is, and give us a Then that waits.