One way of doing it is to have a bool variable in the Character_Parent called Has Been Seen? which you set to true when you play the animation for the first time. You can also use that variable with a branch before you play the anim montage, that way it will only play once (when the value is false). To check if both characters have been looked at, you can have a counter variable on the player that is incremented every time you execute play anim montage and instead of the gate you can just have a branch that will do the whole logic only if the counter is less than 2.