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 to Questions & Answers just mention UE-80902 in the post.

3
Login to Vote

Fixed
ComponentUE - Anim - Sequencer
Affects Versions4.234.244.22.3
Target Fix4.25
Fix Commit9388937
Main Commit11224363
CreatedSep 26, 2019
ResolvedOct 3, 2019
UpdatedFeb 11, 2020
View Jira Issue