シーケンサー再生終了後も最後の見た目を維持する方法について

お世話になっております。

シーケンサーが最後まで再生されても元に戻さず最後の見た目を維持させる

こちらに関しましては、「When Finished」を「Keep State」することが最もコストが低いかと思います。

特定のシーケンサー内のセクションの「When Finished」を一括で変更する方法はないでしょうか?

UE4.20で追加された Sequencer Scriptingプラグインが有用です。このプラグインを使うことでBPから対象のシーケンサの各Track, Section, Channelなどを取得可能です。

また、同じくUE4.20で追加された Editor ScriptingプラグインのAssetActionUtilityを使うことで、アセットの右クリックメニューにBPで実装した処理を呼び出すコマンドを追加することが可能です。

上記の機能を併用することで、以下のようなBPを組むことで「コンテンツブラウザ上で選択中のLevelSequenceアセットにおける全SectionのWhen Finishedを一括で変更」というフローを実現可能です。

なお、Sequencer Scriptingプラグインはまだβ段階ということもあり、各プロパティの変更処理の大半が実装されていません。そのため、例えばSectionのWhen FinishedプロパティをBPから変更したい場合は、MovieSceneSectionExtensionsに以下のコードを追加する必要があります。

void UMovieSceneSectionExtensions::SetWhenFinished(UMovieSceneSection* Section, EMovieSceneCompletionMode Mode)
{
	Section->EvalOptions.CompletionMode = Mode;
}

もし全てのSectionではなく特定のタイプのものだけを変更したい場合は、ForEachLoopで処理を回している所に判定処理を追加すれば実現可能かと思います。

よろしくお願いいたします。