Hi friends,
We’ve noticed a behavior in Sequencer that seems to be occurring since our recent upgrade to 5.6.1 (from 5.5.4).
I was able to reproduce this behavior with a new level sequence asset and basic tracks. However, note that I did not test with a vanilla build - though we did not modify how Sequencer works on our end.
- Create a new level sequence asset.
- Add a new track: let’s use UMovieSceneCVarTrackInstance for our example. Though we first notice the issue with a custom track instance we have.
- Add 2 sections, let’s say A and B, on the same track.
- Section A from frame 0 to frame N;
- Section B from frame N to end frame.
- At runtime, play the sequence multiple times.
I attached images to illustrate the set up (Sequencer-Issue_01.png and Sequencer-Issue_02.png).
I also attached a log of calls made to UMovieSceneCVarTrackInstance::OnInputAdded and UMovieSceneCVarTrackInstance::OnInputRemoved from the same PIE instance.
With this repro, we’ve made 2 main observations.
- Calls to `UMovieSceneCVarTrackInstance::OnInputRemoved` from Section A is sometimes called after `UMovieSceneCVarTrackInstance::OnInputAdded` from Section B.
- As hinted in the previous point, order of calls is not consistent between plays.
1. From our point of view, `OnInputRemoved` from section A that ends on frame N should be called before `OnInputAdded` from section B for the same frame. At least, visually, that’s what the editor tells us - and so it is the expected behavior for our users.
This causes some issues on our end as we heavily rely on sections’ symmetry to affect our game.
Note that this issue also occurs when sections A and B are not on the same track.
2. I’ve mostly observed this inconsistency in PIE. It seems to be consistent in packaged build.
But in our case, issue #1 consistently occurs in packaged builds.
Is this new behavior expected? Is something missing from our set up?
Thank you for your help,
- Cédric S.