Notes on Delay in blueprints.
For a given event there is only one delay timer. When event gets called and then hits a delay, delay starts. If another call to same event happens, while delay is pending, and encounters any delay in event, it gets ignored.
For example if you can equip a weapon to left and/or right hand, and you have an event to equip weapon, and it takes a left or right flag, and you do a delay after creating Actor so actor gets instanced on clients before equipping to a hand (in multiplayer this would be a rep-notify and you wanted to wait for clients to get actor before rep notify happens), and then to set player up you make two weapons and equip them, it will fail.
first weapon gets created, and delay starts. Almost immediately after, second weapon gets created, and delay gets hit and ignores second chain of execution, because delay timer for event is already delaying. Then delay times out, and first weapon gets equipped, and second weapon gets ignored and not equipped.
This will happen whether there is only one delay node in event, or one delay node for left and one delay node for right in same event.
This is intended design of event architecture in blueprints.
solution in our multiplayer VR game is to have separate events for each equip variable that delays and then equips. Like this…
