Description

If an Actor destroys another Actor when the game is first starting, then End Play does not get called on the destroyed Actor. In the attached project, there is an Actor Blueprint in the level that spawns a second Actor Blueprint during its Begin Play. The second Actor then destroys the first Actor in its own Begin Play. When this occurs, the End Play for the first Actor does not run. If there is a delay in the second Actor's Begin Play before it destroys the first Actor, then the first Actor's End Play does run.

Steps to Reproduce
  1. Download the attached test project.
    • Project created in Main, CL 3973918.
  2. Associate the project with your version of Main.
  3. Open the project in the Editor.
  4. Start PIE.

RESULT:
Two notices are displayed at the top of the screen stating that Begin Play was run on two actors in the level, but no notice appears that End Play was run for one of the actors that is destroyed by the other.

EXPECTED:
Two notices are displayed at the top of the screen stating that Begin Play was run on two actors in the level, and a third notice is displayed that End Play is run for one of the actors that is destroyed by the other.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-57091 in the post.

3
Login to Vote

Fixed
ComponentUE - Gameplay
Affects Versions4.15.34.16.34.17.24.18.34.194.20
Target Fix4.20
Fix Commit3982866
Main Commit4006923
Release Commit4095966
CreatedMar 30, 2018
ResolvedApr 3, 2018
UpdatedJul 3, 2018