Custom events happen asyncronously. How to make them execute in sequence?

I don’t know much about the inner workings of the Engine, but it appears that custom events run on their own seperate thread. I’m working with blueprints. Is there a way to make a chain of custom events happen syncronously so that the next one on the chain only stars when the one before has finished?

Custom Event A -> Custom Event B -> Custom Event C

(B only stars when A has finished, C only starts when B has finished. By default they all occur at the same time)

Basically I have a timeline encased in a custom event so I can reuse the timeline multiple times. I’m using it to animate the bones of a gun skeletal mesh and it actually works really well, but animations on the same bone overlap because I can’t get custom events to fire syncronously, i.e one after the other rather than all at once.

So annoying that you can’t put timelines inside functions or macros!

Anyone got an idea on how to find out when a custom event has reached the end? I can use booleans or delays but I’m just wondering if there’s a ‘proper’ method.