I am trying to play Widget animation while rendering LevelSequence.But I found that the Widget animation and LevelSequence are not synchronized. When LevelSequence records the second frame, the Widget animation has already run to the fifth frame.
I tried to set the Widget animation’s flag to EMovieSceneSequenceFlags::BlockingEvaluation, but unfortunately, it didn’t work.
Does anyone know how to synchronize the Widget animation and LevelSequence frame by frame?
I was facing the same problem and I found a solution so I thought it was a good idea to share it if anyone else needed the solution.
1- If you are spawning the widget with a blueprint, in this blueprint, create a function name SetSomething, like SetWidgetTime. Make it call in editor.
2- Create a float variable, call it like the “Something” in the name of the function, in my case WidgetTime. Make it Instance editable and expose to cinematics
3- In your function, add an input parameter, type float, naming is afaik not important but I named It like my variable
4- Use the Play animation node on your widget, linked to the animation you want to play in it. Set playback speed to 0 and link your function’s float variable to the Playback Start Time pin.
4- In your sequencer, expose your variable and set it for the duration of your animation (0 at the start frame, TimeLength to your end frame)
This will execute your function for each frame the variable is set in sequencer, and it wil use the value of your variable to set time and update the widget animation accordingly.