A licensee reported that Datalayers that are added to UWorldPartitionBuilder::IncludedDataLayers in a custom builder PreRun are not respected.
I used the minimap builder to debug the state of the Datalayer instaces and found that the state of the UDataLayerInstance can get reset while loading a LevelInstance. See callstack for context.
UnrealEditor-Engine.dll!AWorldDataLayers::OnDataLayerManagerInitialized() Line 1209 C++
> UnrealEditor-Engine.dll!UDataLayerManager::Initialize() Line 204 C++
UnrealEditor-Engine.dll!UWorldPartition::Initialize::__l2::<lambda_2>::operator()() Line 738 C++
UnrealEditor-Engine.dll!UWorldPartition::Initialize(UWorld * InWorld, const UE::Math::TTransform<double> & InTransform) Line 782 C++
UnrealEditor-Engine.dll!ULevel::OnLevelLoaded() Line 3501 C++
UnrealEditor-Engine.dll!ULevelStreaming::SetLoadedLevel(ULevel * Level) Line 1416 C++
UnrealEditor-Engine.dll!ULevelStreaming::PrepareLoadedLevel(ULevel * InLevel, UPackage * InLevelPackage, int InPIEInstanceID) Line 1479 C++
UnrealEditor-Engine.dll!ULevelStreaming::AsyncLevelLoadComplete(const FName & InPackageName, UPackage * InLoadedPackage, EAsyncLoadingResult::Type Result) Line 1814 C++
[Inline Frame] UnrealEditor-Engine.dll!Invoke(void(ULevelStreaming::*)(const FName &, UPackage *, EAsyncLoadingResult::Type) PtrMemFun, ULevelStreaming * &) Line 66 C++
[Inline Frame] UnrealEditor-Engine.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(ULevelStreaming::*)(const FName &, UPackage *, EAsyncLoadingResult::Type) &) Line 326 C++
UnrealEditor-Engine.dll!TBaseUObjectMethodDelegateInstance<0,ULevelStreaming,void __cdecl(FName const &,UPackage *,enum EAsyncLoadingResult::Type),FDefaultDelegateUserPolicy>::ExecuteIfSafe(const FName & <Params_0>, UPackage * <Params_1>, EAsyncLoadingResult::Type <Params_2>) Line 713 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!TDelegate<void __cdecl(FName const &,UPackage *,enum EAsyncLoadingResult::Type),FDefaultDelegateUserPolicy>::ExecuteIfBound(const FName &) Line 631 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!FAsyncLoadingThread2::FCompletedPackageRequest::CallCompletionCallbacks() Line 4251 C++
UnrealEditor-CoreUObject.dll!FAsyncLoadingThread2::ProcessLoadedPackagesFromGameThread(FAsyncLoadingThreadState2 & ThreadState, bool & bDidSomething, TArrayView<int const ,int> FlushRequestIDs) Line 10124 C++
UnrealEditor-CoreUObject.dll!FAsyncLoadingThread2::TickAsyncLoadingFromGameThread(FAsyncLoadingThreadState2 & ThreadState, bool bUseTimeLimit, bool bUseFullTimeLimit, double TimeLimit, TArrayView<int const ,int> FlushRequestIDs, bool & bDidSomething) Line 10194 C++
UnrealEditor-CoreUObject.dll!FAsyncLoadingThread2::FlushLoading(TArrayView<int const ,int> RequestIDs) Line 11909 C++
UnrealEditor-CoreUObject.dll!FlushAsyncLoading(TArrayView<int const ,int> RequestIds) Line 354 C++
UnrealEditor-Engine.dll!ULevelStreaming::RequestLevel(UWorld * PersistentWorld, bool bAllowLevelLoadRequests, ULevelStreaming::EReqLevelBlock BlockPolicy) Line 1788 C++
UnrealEditor-Engine.dll!ULevelStreaming::UpdateStreamingState::__l2::<lambda_1>::operator()() Line 1011 C++
UnrealEditor-Engine.dll!ULevelStreaming::UpdateStreamingState(bool & bOutUpdateAgain, bool & bOutRedetermineTarget, const TOptional<UE::FTimeout const> & InExternalTimeout) Line 1222 C++
[Inline Frame] UnrealEditor-Engine.dll!FStreamingLevelPrivateAccessor::UpdateStreamingState(ULevelStreaming *) Line 808 C++
UnrealEditor-Engine.dll!UWorld::UpdateLevelStreaming(const TOptional<UE::FTimeout const> & ExternalTimeout) Line 5045 C++
UnrealEditor-Engine.dll!UWorld::BlockTillLevelStreamingCompleted() Line 4747 C++
UnrealEditor-Engine.dll!UEngine::BlockTillLevelStreamingCompleted(UWorld * InWorld) Line 16375 C++
UnrealEditor-Engine.dll!ULevelStreamingLevelInstance::LoadInstance(ILevelInstanceInterface * LevelInstance) Line 437 C++
UnrealEditor-Engine.dll!ULevelInstanceSubsystem::LoadLevelInstance(ILevelInstanceInterface * LevelInstance) Line 589 C++
UnrealEditor-Engine.dll!ULevelInstanceSubsystem::UpdateStreamingStateInternal() Line 348 C++
UnrealEditor-Engine.dll!ULevelInstanceSubsystem::OnUpdateStreamingState() Line 288 C++
UnrealEditor-Engine.dll!ULevelInstanceSubsystem::Tick() Line 941 C++
UnrealEditor-Engine.dll!UWorld::Tick(ELevelTick TickType, float DeltaSeconds) Line 1866 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 1961 C++
UnrealEditor-Engine.dll!CommandletHelpers::TickEngine(UWorld * InWorld, double InDeltaTime) Line 139 C++
UnrealEditor-UnrealEd.dll!UWorldPartitionBuilder::Run(UWorld * World, FPackageSourceControlHelper & PackageHelper) Line 274 C++
UnrealEditor-UnrealEd.dll!UWorldPartitionBuilder::RunBuilder(UWorld * World) Line 132 C++
UnrealEditor-UnrealEd.dll!UWorldPartitionBuilderCommandlet::RunBuilder(TSubclassOf<UWorldPartitionBuilder> InBuilderClass, const FString & InWorldPackageName) Line 297 C++
UnrealEditor-UnrealEd.dll!UWorldPartitionBuilderCommandlet::Main(const FString & Params) Line 193 C++
UnrealEditor.exe!FEngineLoop::PreInitPostStartupScreen(const wchar_t * CmdLine) Line 4053 C++
[Inline Frame] UnrealEditor.exe!FEngineLoop::PreInit(const wchar_t *) Line 4351 C++
[Inline Frame] UnrealEditor.exe!EnginePreInit(const wchar_t *) Line 40 C++
UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 146 C++
UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 266 C++
UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 334 C++
[Inline Frame] UnrealEditor.exe!invoke_main() Line 102 C++
UnrealEditor.exe!__scrt_common_main_seh() Line 288 C++
kernel32.dll!00007ff99f55e8d7() Unknown
ntdll.dll!00007ff9a0acc53c() Unknown
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-360122 in the post.
| 0 |
| Target Fix | 5.8 |
|---|
| Fix Commit | 49762744 |
|---|
| Created | Jan 9, 2026 |
|---|---|
| Resolved | Jan 13, 2026 |
| Updated | Jan 15, 2026 |