Description

The problem is in the function with signature "ULevelStreaming* GetLevelStreaming(FString SafeLevelName, UWorld& World)" within LevelSequenceActorSpawner.cpp at line 30. The problem is with the SafeLevelName value is constructed:

SafeLevelName = TEXT("/") + SafeLevelName;

Currently this value does not take the the PIE instance name into consideration. At line 35, you then compare SafeLevelName to a string that does include the PIE instance name. Lets say I used a sub level named TestLevel. In this case, the following will occur:

1.) Line 30 SafeLevelName = "/TestLevel"
2.) Line 35 LevelStreaming->GetWorldAssetPackageName() will return something like "/Game/Maps/UEDPIE_1_TestLevel"

Therefore, the statement EndsWith(SafeLevelName, ESearchCase::IgnoreCase) will always fail since SafeLevelName emits the pie instance name (in this example it was UEDPIE_1).

Line 30 needs adjusted to append the pie instance name to make the statement at line 35 work as expected.

This was reported and tested in 4.22.3 (CL-7053642). This was reproduced in 4.23 (CL-8386587) and Main 4.24 (CL-9141524)

Steps to Reproduce
  1. Open the UE4 Editor and create a new Third Person template project
  2. Right-click in the Content Brower and create a new Level
  3. Add that Level as a sub-level to ThirdPersonExampleMap
  4. Create a Level Sequence.
  5. Add an actor to the sequence and convert it to a spawnable actor. You may want to add a few transform key frames to ensure the sequence has some length
  6. Right click the spawnable actor (within the sequence) and set it's "Spawnable level" property to a value other then "Persistent Level"
  7. Save the level sequence
  8. Move the level sequence (Sequence Actor) to the sub-level
  9. Setup the Level Blueprint for ThirdPersonExampleMap to load its sub-level on BeginPlay
  10. Setup the Sub-Level Blueprint to play the Sequence
  11. Play in Editor

Results: LogMovieScene: Warning: Can't find sublevel 'XXXX' to spawn 'XXXX' into

where XXXX is replaced with the name of the sublevel and actor you chose.

Expected: The warning should not print, as the sub level is currently loaded.

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-80902 in the post.

2
Login to Vote

Fixed
ComponentSequencer
Affects Versions4.234.244.22.3
Target Fix4.25
Fix Commit9388937
CreatedSep 26, 2019
ResolvedOct 3, 2019
UpdatedOct 3, 2019