How to re-use Level Sequencer events across multiple sequences?

Say, for example, I have 10 level sequences in one level, and they are each creating identical events to call the same function on an actor. Is there a way I can define this event once and re-use it in each sequence, and ideally across different levels? I am new to the level sequence system so maybe there is a simple way to do this.

As far as I can see the best option I can see is to sub-class the sequence director blueprint from a parent that contains these events already. I would still have to re-parent each sequence director blueprint manually. I haven’t tested this yet.

3 Likes

Hey, have you found a solution for this? I’m having the exact same problem. Here’s what I tried:

  • derive a new blueprint from LevelSequenceDirector
  • add a Sequencer Events graph to it with my “common event implementations”
  • open the director blueprint from a LevelSequence, and change the parent class to my new director base class

Unfortunately, the Sequencer Events Graph doesn’t show up. I guess you can’t inherit graphs? Are there other solutions?

EDIT: It actually does work - one can “quick bind” to the events in the base class. A graph node will be created calling the base class implementation. Just in case anyone else stumbles over this.

Hey! So the way I do this is a Subsequence track. Create a single Level Sequence called say, SharedEvents (generally ensure it has the same length in frames as your primary level sequences) then add it in a Subsequence track to all of your primary Level Sequences.
It sort of works like an event layer; you add all of your event tracks to this SharedEvents sequence which will have its own Director BP with all of the bindings. It works particularly well if the timings of all of your primary sequences are similar.

If the timings are highly asymmetric, another solution (albeit not great) is having a folder of ‘function actors’ which simply call some logic on Event BeginPlay, and that’s it. You can then add these as spawnables in your Level Sequences and adjust when they spawn or not to determine when to call the function.