LoadSequence and where is SetPlaybackPosition

Hi.
I am trying to learn how to control sequencers in a scene by means of blueprints.There is this tutorial

that explains how to play those. First problem I see is that SetPlaybackPosition() blueprint node is unavailable. I tried with context on/off. This function doesn’t exists anymore.
Second question is: is it possible to load sequencers from the asset lib in runtime? Or those must always exist in the scene?
I found LoadSequencer function and tried to use it. This one takes ref to the sequencer in the scene. I am not sure what it does.Does it duplicate the existing sequencer instance? The documentation is not clear on this. What I figured out so far is that I can play the sequencer in a way described in the above tutorial link. But I can also do smth like this:

And it works well ,but looks like it creates another actor in runtime. I would appreciate if someone could explain when and why to use this option. Thanks!

In 4.25, you’ll need to use “Jump to (Frames)” or “Jump to (Seconds)”. SetPlaybackPosition was deprecated some time ago, but we recently brought it back with the frames/seconds parameters in 4.26. So, in 4.26, you’ll need to switch it back to SetPlaybackPosition. Sorry for the confusion.

If you have a reference to the level sequence actor in blueprints, you can just call Play on it. If you don’t have a level sequence actor, you can call CreateLevelSequencePlayer and choose the level sequence you want. That will load the level sequence asset. You still need to all Play on the resulting level sequence player.

Dear Max,
I started experiencing something odd with the new SetPlaybackPosition in 4.26. Please let me know if this deserves its own post/thread, but as I was looking for answers I discovered this very recent question.

So, it seems that one cannot call an event from the SequenceDirector, that either directly or indirectly calls a SetPlaybackPosition on the sequence itself. This used to work fine for 4.25 (with the deprecated ScrubTo or JumpTo nodes) but now using SetPlaybackPosition it produces an Ensure failed error. Not sure if it’s a regression of an older bug I read about somewhere (4.17 maybe?)

Do the following simple thing:

Start a new FPS template, C++
*Create a simple actor in C++ that holds a UPROPERTY for a ULevelSequencePlayer

  • Also include a UPROPERTY for a ULevelSequence
    *Extend that actor in Blueprint
  • Create a new LevelSequence that does something very simple, for example moves one of the cubes in the scene
  • Select that sequence from the dropdown for your LevelSequence object reference in your blueprint’s properties
    *At BeginPlay create a new CreateLevelSequencePlayer and set it for your LevelSequencePlayer property (I did it in my blueprint actor)
  • Trigger your sequence to play however you like (at begin play or whatever - I used a box trigger, from within the BP actor mentioned above)
    *In the sequencer, add your BP actor from above and add an event track that simply aims to skip to some other frame - do that by calling a custom event in the BP actor which then calls SetPlayBackPosition.

I was basically trying to interrupt normal playback of the cube movement and make it skip to another frame towards the end. The same thing used to work in 4.25 (admittedly though was not using SetPlaybackPosition for this).

I saw your other post and replied there: SetPlaybackPosition of a Sequence fails assertion - Cinematics & Media - Epic Developer Community Forums

JumptTo(frames) then Play() did the job. Would be nice to have a version like Play(frame)