Description

This is a report about three different issues that are tightly related to each other, so I decided to include them in a single report. The behavior of actors spawned by a Level Sequence Player is not always consistent when calling Play(), Pause(), and Stop().

1. If Stop() is called after calling Play(), any actors that were spawned as a result of Play() are removed. However, if Pause() is called before calling Stop(), the spawned actors are left in the scene.

2. If the Level Sequence Player is destroyed, any actor that it spawned when Play() was called will be left in the scene unless Stop() is called first (as long as Pause() wasn't called before Stop()).

3. If an actor spawned by a Level Sequence Player is playing back an animation when Pause() is called, the animation will not pause, but will continue playing.

Steps to Reproduce
  1. Download the attached zipped project.
  2. Unzip the project and associate it with your Engine.
  3. Open the project in Visual Studio, then open the ControlPlugin.uplugin file and change "EnabledByDefault" to "true".
  4. Build the project in Visual Studio.
  5. Open the project in the Editor.
  6. Click the ControlPlugin button in the Toolbar to open the ControlPlugin window.
  7. Start PIE.
  8. In the ControlPlugin button, click the Create Player button.
  9. Click in the main Editor Window and back in the ControlPlugin window (this is due to a separate issue already reported).
  10. Click the Play button.
  11. Click the Pause button.
    • Note that Issue # 3 occurs.
  12. Click the Stop button.
    • Note that Issue # 1 occurs.
  13. Click the Delete Player button (this will require clicking in the main Editor window and back in the ControlPlugin window in order for the latter window to become responsive again).
    • Note that Issue # 2 occurs.

RESULTS:

  1. Clicking Stop after clicking Pause does not remove the spawned actor.
  2. Destroying the Level Sequence Player that spawned the actor does not remove the spawned actor.
  3. Clicking Pause does not actually pause any animation playback.

EXPECTED:

  1. Clicking Stop after clicking Pause would remove the spawned actor.
  2. Destroying the Level Sequence Player that spawned the actor would remove the spawned actor.
  3. Clicking Pause would pause any animations currently being played back.

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

1
Login to Vote

Fixed
ComponentUE - Anim - Sequencer
Affects Versions4.13.24.14.3
Target Fix4.18
Fix Commit3606411
Main Commit3621569
Release Commit3643070
CreatedFeb 15, 2017
ResolvedAug 24, 2017
UpdatedAug 28, 2019
View Jira Issue