A LevelSequence will lose the binding to objects contained in a level instanced inside another level on 5.6 and up.
Refer to the reproduction steps or the shared repro project provided by the licensee to reproduce the behavior.
If we open the LevelSequence asset when the LevelInstance map is open, the Cube object shows a binding, but if we open the LevelSequence when the Level that instantiate the LevelInstance is open, the Cube shows The object bound to this track is missing (BindingID: ...).
This behavior was not present on 5.5 and was introduced in 5.6.
I've confirmed this behavior reproduces in 5.6 and 5.8 (CL45755840).
The licensee suspects the issue is related to StreamingWorld = Level->GetTypedOuter<UWorld>();
I've included a callstack to that call.
New blank project
Create a new empty level
Place a LevelSequenceActor in the level, set AutoPlay true and Loop to LoopIndefinitely
Place a cube in the level and animate with a new level sequence.
Save the level with the animation
Create a new level of any kind and place the level with the level sequence actor in it as a level instance (by drag & dropping it from the Content Browser on top of the new level)
Click Play
Expected behavior: the cube should animate and loop
Actual behavior: from 5.6 and up, the cube does not move. If we press F8 and detach from the pawn, we can navigate to the LevelSequence asset and upon opening it we notice the cube binding is red, with the message The object bound to this track is missing (BindingID: ...). The cube does animate in 5.5.4.
Call stack at the StreamingWorld = Level->GetTypedOuter<UWorld>();
> UnrealEditor-LevelSequence.dll!ALevelSequenceActor::PreInitializeComponents() Line 185 C++
UnrealEditor-Engine.dll!ULevel::RouteActorInitialize(int NumActorsToProcess) Line 3806 C++
UnrealEditor-Engine.dll!UWorld::InitializeActorsForPlay(const FURL & InURL, bool bResetTime, FRegisterComponentContext * Context) Line 5782 C++
UnrealEditor-Engine.dll!UGameInstance::StartPlayInEditorGameInstance(ULocalPlayer * LocalPlayer, const FGameInstancePIEParameters & Params) Line 528 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::CreateInnerProcessPIEGameInstance(FRequestPlaySessionParams & InParams, const FGameInstancePIEParameters & InPIEParameters, int InPIEInstanceIndex) Line 3182 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::OnLoginPIEComplete_Deferred(int LocalUserNum, bool bWasSuccessful, FString ErrorString, FPieLoginStruct DataStruct) Line 1627 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::CreateNewPlayInEditorInstance(FRequestPlaySessionParams & InRequestParams, const bool bInDedicatedInstance, const EPlayNetMode InNetMode) Line 1890 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::StartPlayInEditorSession(FRequestPlaySessionParams & InRequestParams) Line 2913 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::StartQueuedPlaySessionRequestImpl() Line 1204 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::StartQueuedPlaySessionRequest() Line 1105 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 2038 C++
UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 533 C++
UnrealEditor.exe!FEngineLoop::Tick() Line 5625 C++
[Inline Frame] UnrealEditor.exe!EngineTick() Line 60 C++
UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 187 C++
UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 271 C++
UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 339 C++
[External Code]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-326566 in the post.