Sequencer variables dont "Keep State" after finish

In current builds 4.17, 4.18 sequencer dont prevent values after finish.

I have project with huge amount of events in which sequencer change the MPC values / light / fog settings. ect…

In the earlier releases settings was keeped from last seq frame.
It still works, but only for sequences created earlier? If it make any sense…
But now the behaviours is inconsistent and depend on sequencer file.

Here I have 2 sequencers. 1 created months ago and one new. After firs one the PRINTED value return to 0, after second one it stay at the last frame value.

I read that you are adding “Keep State” flag, but I assume it was regarded only to animations.
Problem aprear in all Light/ Fog/ Exp Fog/ MPC ect … settings

Hi,

I am not quite sure what exact steps you are taking to get these results. I also see that you are printing a string in the top left corner, and you are having an issue with the value it is printing. Can you tell me what you are doing step by step or post a sample project? Also, what is the exact result that you are getting that is not desired?

-Thank you

Hi Ridley. :slight_smile:
Sorry for a poor description.

Point is to use sequencer as a gameplay tool for permamently changeing parameters values (fog/sun/MPC…).
Whenever i create the seq with some actors it reverts all values after playback is finished. (or i just cannot find any “keep state” flag)

In yutube video beside the MPC walue that return to 0, and fog setings that apear after seq end I put also an actor (which Im showing at the begining). It have the “hidden in game” flag checked. But the sequencer finish with visibility chanel set to visible (should remain visible after seq is finished).

I have some old sequencer files from earlier builds and those files are able to change Variables permamently even after seq is destroyed.

You can change the Keep/Restore setting by right clicking on the section, and changing the “When Finished” property in the properties sub-menu.

215607-restorestate.png

It’s hard to say it should default to one or another however, since both are equally useful in different usage environments. One of the prime reasons for things defaulting to Restore State is that it means the sequence is much more deterministic, particularly when dealing with sub sections and shots. You’re only seeing it on newly created assets because we must maintain backwards comparability for existing data.

When keep state is used heavily, it’s hard for users to fully understand what the state of the sequence should be in at any given time, particularly in situations where the time cursor jumps around.

Ok. It does the job. I must just create some of files once again. Thank you :).

You can change the Keep/Restore setting by right clicking on the section, and changing the “When Finished” property in the properties sub-menu.

That sounds just what I need but I don’t get a properties sub-menu for the property I’m keyframing (a Blueprint variable).

As per screenshot, the variable Speed controls speed of rotation of a cube in a blueprint. The behavior is correct while sequencer plays but can’t find any way to keep Speed at end of the sequence active in the level (Speed always jumps back to defaul set prior to playing Sequence)

Note - this wasn’t an animation blueprint (is that the issue?) because I can’t work out how to get reference to static mesh component in animation blueprint

If you turn off the curve editor for a moment (to show the main tracks view) you can right click on the sections inside the track area, which will give you the context menu above.

Is it possible to do the same thing for level visibility? I mean keep level loaded after seq finish played.

Hi,

For Level Visibility you can add a Level Visibility Track in Sequencer. I’ve linked some documentation on it below on how to set that up. Let me know if that works for you or if you were trying to set it up differently.

Thank you

Documentation

The level visibility track currently does not support changing the “When Finished” property as it has quite a specific implementation to support hierarchical bias based on sub sequence overrides. If you want to enable a specific level and keep it open, one way to achieve that would be to implement it with an event that loads the level.

I have also a problem with it. I am on 4.18 and I can see the “keep state/restore state” select box. But it does not work.

I have a simple transform animation on a movable static mesh. The mesh animation works but it never keeps the final translation to a specific position. Is it a general bug? What can I do?

The checkbox on LevelSequenceActor is a global override that will restore state even on sections that have been set to ‘Keep State’. Perhaps it could be named more descriptively. In any case, in order to prevent the behavior you’re describing, you’ll want to RMB on the animation section, go into properties and choose “When Finished” : “Keep State”. You may also want to RMB on the track in the tree and ensure that “Evaluate Nearest Section” is checked if you want it to always evaluate the first/last frame of your animation.