UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AsyncLoading2.cpp File Reference
#include "Serialization/AsyncLoading2.h"
#include "Algo/AnyOf.h"
#include "Algo/Partition.h"
#include "IO/IoDispatcher.h"
#include "Serialization/AsyncPackageLoader.h"
#include "Serialization/PackageStore.h"
#include "HAL/PlatformFileManager.h"
#include "HAL/FileManager.h"
#include "HAL/Event.h"
#include "HAL/ThreadManager.h"
#include "HAL/RunnableThread.h"
#include "HAL/PlatformMisc.h"
#include "Misc/ScopeLock.h"
#include "Stats/StatsMisc.h"
#include "Containers/StripedMap.h"
#include "Misc/CoreStats.h"
#include "HAL/IConsoleManager.h"
#include "Misc/PackageAccessTrackingOps.h"
#include "Misc/CoreDelegates.h"
#include "Misc/CommandLine.h"
#include "Misc/App.h"
#include "Misc/ConfigCacheIni.h"
#include "Misc/MessageDialog.h"
#include "Misc/PackageName.h"
#include "Misc/StringBuilder.h"
#include "UObject/ObjectResource.h"
#include "UObject/SoftObjectPath.h"
#include "UObject/NameBatchSerialization.h"
#include "UObject/UObjectGlobalsInternal.h"
#include "Serialization/DeferredMessageLog.h"
#include "UObject/UObjectThreadContext.h"
#include "Misc/Paths.h"
#include "Misc/PlayInEditorLoadingScope.h"
#include "Misc/ExclusiveLoadPackageTimeTracker.h"
#include "ProfilingDebugging/LoadTimeTracker.h"
#include "HAL/ThreadHeartBeat.h"
#include "HAL/ExceptionHandling.h"
#include "UObject/UObjectHash.h"
#include "Templates/Casts.h"
#include "Templates/UniquePtr.h"
#include "Templates/SharedPointer.h"
#include "Serialization/BufferReader.h"
#include "Async/TaskGraphInterfaces.h"
#include "Async/UniqueLock.h"
#include "Blueprint/BlueprintSupport.h"
#include "HAL/LowLevelMemTracker.h"
#include "ProfilingDebugging/CsvProfiler.h"
#include "UObject/UObjectArchetypeInternal.h"
#include "Misc/MTAccessDetector.h"
#include "UObject/GarbageCollectionInternal.h"
#include "ProfilingDebugging/MiscTrace.h"
#include "Serialization/LoadTimeTracePrivate.h"
#include "ProfilingDebugging/CountersTrace.h"
#include "Serialization/AsyncPackage.h"
#include "Serialization/UnversionedPropertySerialization.h"
#include "Internationalization/PackageLocalizationManager.h"
#include "Serialization/Zenaphore.h"
#include "UObject/GCObject.h"
#include "UObject/ObjectRedirector.h"
#include "Serialization/BulkData.h"
#include "Serialization/LargeMemoryReader.h"
#include "Serialization/MemoryReader.h"
#include "UObject/UObjectClusters.h"
#include "UObject/LinkerInstancingContext.h"
#include "UObject/LinkerLoadImportBehavior.h"
#include "UObject/ObjectHandlePrivate.h"
#include "UObject/ObjectSerializeAccessScope.h"
#include "ProfilingDebugging/AssetMetadataTrace.h"
#include "Async/Async.h"
#include "Sanitizer/RaceDetector.h"
#include "Templates/GuardValueAccessors.h"
#include "Async/ParallelFor.h"
#include "Async/ManualResetEvent.h"
#include "HAL/LowLevelMemStats.h"
#include "HAL/IPlatformFileOpenLogWrapper.h"
#include "Modules/ModuleManager.h"
#include "Containers/MpscQueue.h"
#include "Misc/AssetRegistryInterface.h"
#include "Misc/PathViews.h"
#include "UObject/LinkerLoad.h"
#include "IO/IoPriorityQueue.h"
#include "UObject/CoreRedirects.h"
#include "Serialization/ZenPackageHeader.h"
#include "Trace/Trace.h"
#include "Containers/Ticker.h"
#include "Logging/MessageLog.h"
#include "VerseVM/VVMVerse.h"
#include "CoreGlobalsInternal.h"
#include <atomic>

Classes

struct  FExportObject
 
struct  FExportCell
 
struct  FPackageReferencer
 
struct  FPackageRequest
 
struct  FAsyncPackageDesc2
 
struct  FUnreachableObject
 
class  FLoadedPackageRef
 
class  FLoadedPackageRef::FPublicExportMap::FValueIterator
 
class  FLoadedPackageCellsRef
 
class  FCookedScriptObjectsDebug
 
class  FGlobalImportStore
 
struct  FAsyncPackageHeaderData
 
struct  FAsyncPackageLinkerLoadHeaderData
 
struct  FPackageImportStore
 
class  FExportArchive
 
class  FEventLoadNode2
 
class  FAsyncLoadEventGraphAllocator
 
class  FAsyncLoadEventQueue2
 
struct  FAsyncLoadEventSpec
 
struct  FAsyncLoadingThreadState2
 
struct  FAsyncLoadingThreadState2::FTimeLimitScope
 
struct  FAsyncPackageData
 
struct  FAsyncPackageSerializationState
 
struct  FAsyncPackage2
 
class  FAsyncLoadingSyncLoadContext
 
struct  FAsyncLoadingPostLoadGroup
 
class  FAsyncLoadingThread2
 
struct  FAsyncPackageScope2
 
struct  FAsyncLoadingTickScope2
 
class  FAsyncLoadingThreadState2Scope
 
class  AsyncLoading2::Private::FExcludedClassSet
 

Namespaces

namespace  UE
 
namespace  UE::AsyncPackage2
 
namespace  AsyncLoading2
 
namespace  AsyncLoading2::Private
 

Macros

#define WITH_PARTIAL_REQUEST_DURING_RECURSION   WITH_EDITOR
 
#define ALT2_VERIFY_LINKERLOAD_MATCHES_IMPORTSTORE   0
 
#define ALT2_ENABLE_LINKERLOAD_SUPPORT   1
 
#define ALT2_ENABLE_NEW_ARCHIVE_FOR_LINKERLOAD   0
 
#define ALT2_LOG_VERBOSE   DO_CHECK
 
#define ALT2_DUMP_STATE_ON_HANG   !UE_BUILD_SHIPPING
 
#define ALT2_ENABLE_PACKAGE_DEPENDENCY_DEBUGGING   0
 
#define ALT2_ENABLE_SCRIPT_IMPORTS_DEBUGGING   !UE_BUILD_SHIPPING && !IS_PROGRAM
 
#define checkObject(Object, expr)
 
#define ensureObject(Object, expr)
 
#define UE_ASYNC_PACKAGE_DEBUG(PackageDesc)
 
#define UE_ASYNC_UPACKAGE_DEBUG(UPackage)
 
#define UE_ASYNC_PACKAGEID_DEBUG(PackageId)
 
#define UE_ASYNC_PACKAGE_LOG(Verbosity, PackageDesc, LogDesc, Format, ...)
 
#define UE_ASYNC_PACKAGE_CLOG(Condition, Verbosity, PackageDesc, LogDesc, Format, ...)
 
#define UE_ASYNC_PACKAGE_LOG_VERBOSE(Verbosity, PackageDesc, LogDesc, Format, ...)
 
#define UE_ASYNC_PACKAGE_CLOG_VERBOSE(Condition, Verbosity, PackageDesc, LogDesc, Format, ...)
 

Typedefs

template<typename PayloadType >
using TAsyncAtomic = std::atomic< PayloadType >
 
using FUnreachableObjects = TArray< FUnreachableObject >
 

Enumerations

enum class  EAsyncPackageLoadingState2 : uint8 {
  NewPackage , WaitingForIo , ProcessPackageSummary , ProcessDependencies ,
  WaitingForDependencies , DependenciesReady , CreateLinkerLoadExports , WaitingForLinkerLoadDependencies ,
  ResolveLinkerLoadImports , PreloadLinkerLoadExports , ProcessExportBundles , WaitingForExternalReads ,
  ExportsDone , PostLoad , DeferredPostLoad , DeferredPostLoadDone ,
  Finalize , PostLoadInstances , CreateClusters , Complete ,
  DeferredDelete
}
 
enum class  EEventLoadNodeExecutionResult : uint8 { Timeout , Complete }
 
enum class  EExecutionType { Normal , Immediate , Parallel }
 
enum  EEventLoadNode2 : uint8 {
  Package_ProcessSummary , Package_ProcessDependencies , Package_DependenciesReady , Package_CreateLinkerLoadExports ,
  Package_ResolveLinkerLoadImports , Package_PreloadLinkerLoadExports , Package_ExportsSerialized , Package_NumPhases ,
  ExportBundle_Process = 0 , ExportBundle_PostLoad , ExportBundle_DeferredPostLoad , ExportBundle_NumPhases
}
 

Functions

 CSV_DECLARE_CATEGORY_MODULE_EXTERN (CORE_API, FileIO)
 
 CSV_DEFINE_STAT (FileIO, FrameCompletedExportBundleLoadsKB)
 
 LLM_DEFINE_TAG (UObject_FAsyncPackage2)
 
FArchiveoperator<< (FArchive &Ar, FZenPackageVersioningInfo &VersioningInfo)
 
FArchiveoperator<< (FArchive &Ar, FZenPackageImportedPackageNamesContainer &Container)
 
FArchiveoperator<< (FArchive &Ar, FExportBundleEntry &ExportBundleEntry)
 
FArchiveoperator<< (FArchive &Ar, FDependencyBundleEntry &DependencyBundleEntry)
 
FArchiveoperator<< (FArchive &Ar, FDependencyBundleHeader &DependencyBundleHeader)
 
FArchiveoperator<< (FArchive &Ar, FScriptObjectEntry &ScriptObjectEntry)
 
FArchiveoperator<< (FArchive &Ar, FExportMapEntry &ExportMapEntry)
 
FArchiveoperator<< (FArchive &Ar, FCellExportMapEntry &CellExportMapEntry)
 
FArchiveoperator<< (FArchive &Ar, FBulkDataMapEntry &BulkDataEntry)
 
void FindAllRuntimeScriptPackages (FRuntimeScriptPackages &OutPackages)
 
 CSV_DECLARE_CATEGORY_MODULE_EXTERN (CORE_API, Basic)
 
 TRACE_DECLARE_ATOMIC_INT_COUNTER (AsyncLoadingQueuedPackages, TEXT("AsyncLoading/PackagesQueued"))
 
 TRACE_DECLARE_ATOMIC_INT_COUNTER (AsyncLoadingLoadingPackages, TEXT("AsyncLoading/PackagesLoading"))
 
 TRACE_DECLARE_ATOMIC_INT_COUNTER (AsyncLoadingPackagesWithRemainingWork, TEXT("AsyncLoading/PackagesWithRemainingWork"))
 
 TRACE_DECLARE_ATOMIC_INT_COUNTER (AsyncLoadingPendingIoRequests, TEXT("AsyncLoading/PendingIoRequests"))
 
 TRACE_DECLARE_ATOMIC_MEMORY_COUNTER (AsyncLoadingTotalLoaded, TEXT("AsyncLoading/TotalLoaded"))
 
 TRACE_DECLARE_ATOMIC_INT_COUNTER (AsyncLoadingFileSystemLoads, TEXT("AsyncLoadingThread/FileSystemLoads"))
 
 TRACE_DECLARE_ATOMIC_INT_COUNTER (AsyncLoadingIoStoreLoads, TEXT("AsyncLoadingThread/IoStoreLoads"))
 
FString FormatPackageId (FPackageId PackageId)
 
FName ApplyLooseFileLocalizationPackageNameRedirects (FName PackageName)
 
const TCHARLexToString (EPackageLoader PackageLoader)
 
const TCHARLexToString (EAsyncPackageLoadingState2 AsyncPackageLoadingState)
 
EAsyncLoadingResult::Type UE::AsyncPackage2::AsyncLoadingResultFromIoError (EIoErrorCode Error)
 
IAsyncPackageLoaderMakeAsyncPackageLoader2 (FIoDispatcher &InIoDispatcher)
 

Variables

TAutoConsoleVariable< boolCVar_CheckBlueprintCDOWillBePostLoadedAfterPreload (TEXT("s.CheckBlueprintCDOWillBePostLoadedAfterPreload"), true, TEXT("Determines whether or not to check that Class Default Object (CDO)s that are compiled from Blueprints (including old VerseVM classes) are" "set to be post-loaded and are in the process of being loaded." "When disabled, we will still `ensure` regardless, but will not treat these as fatal errors."))
 

Macro Definition Documentation

◆ ALT2_DUMP_STATE_ON_HANG

#define ALT2_DUMP_STATE_ON_HANG   !UE_BUILD_SHIPPING

◆ ALT2_ENABLE_LINKERLOAD_SUPPORT

#define ALT2_ENABLE_LINKERLOAD_SUPPORT   1

◆ ALT2_ENABLE_NEW_ARCHIVE_FOR_LINKERLOAD

#define ALT2_ENABLE_NEW_ARCHIVE_FOR_LINKERLOAD   0

◆ ALT2_ENABLE_PACKAGE_DEPENDENCY_DEBUGGING

#define ALT2_ENABLE_PACKAGE_DEPENDENCY_DEBUGGING   0

◆ ALT2_ENABLE_SCRIPT_IMPORTS_DEBUGGING

#define ALT2_ENABLE_SCRIPT_IMPORTS_DEBUGGING   !UE_BUILD_SHIPPING && !IS_PROGRAM

◆ ALT2_LOG_VERBOSE

#define ALT2_LOG_VERBOSE   DO_CHECK

◆ ALT2_VERIFY_LINKERLOAD_MATCHES_IMPORTSTORE

#define ALT2_VERIFY_LINKERLOAD_MATCHES_IMPORTSTORE   0

◆ checkObject

#define checkObject (   Object,
  expr 
)
Value:
checkf(expr, TEXT("Object='%s' (%p), Flags=%s, InternalFlags=0x%08X") \
, (Object ? *Object->GetFullName() : TEXT("null")) \
, Object \
, (Object ? *LexToString(Object->GetFlags()) : TEXT("None")) \
, (Object ? Object->GetInternalFlags() : EInternalObjectFlags::None))
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
const TCHAR * LexToString(EPackageLoader PackageLoader)
Definition AsyncLoading2.cpp:744
#define TEXT(x)
Definition Platform.h:1272
EInternalObjectFlags
Definition ObjectMacros.h:631

◆ ensureObject

#define ensureObject (   Object,
  expr 
)
Value:
ensureMsgf(expr, TEXT("Object='%s' (%p), Flags=%s, InternalFlags=0x%08X") \
, (Object ? *Object->GetFullName() : TEXT("null")) \
, Object \
, (Object ? *LexToString(Object->GetFlags()) : TEXT("None")) \
, (Object ? Object->GetInternalFlags() : EInternalObjectFlags::None))
#define ensureMsgf( InExpression, InFormat,...)
Definition AssertionMacros.h:465

◆ UE_ASYNC_PACKAGE_CLOG

#define UE_ASYNC_PACKAGE_CLOG (   Condition,
  Verbosity,
  PackageDesc,
  LogDesc,
  Format,
  ... 
)
Value:
if ((Condition)) \
{ \
UE_ASYNC_PACKAGE_LOG(Verbosity, PackageDesc, LogDesc, Format, ##__VA_ARGS__); \
}
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127

◆ UE_ASYNC_PACKAGE_CLOG_VERBOSE

#define UE_ASYNC_PACKAGE_CLOG_VERBOSE (   Condition,
  Verbosity,
  PackageDesc,
  LogDesc,
  Format,
  ... 
)

◆ UE_ASYNC_PACKAGE_DEBUG

#define UE_ASYNC_PACKAGE_DEBUG (   PackageDesc)
Value:
if (GAsyncLoading2_DebugPackageIds.Contains((PackageDesc).UPackageId)) \
{ \
}

◆ UE_ASYNC_PACKAGE_LOG

#define UE_ASYNC_PACKAGE_LOG (   Verbosity,
  PackageDesc,
  LogDesc,
  Format,
  ... 
)
Value:
(GAsyncLoading2_VerboseLogFilter == 2) || \
(GAsyncLoading2_VerboseLogFilter == 1 && GAsyncLoading2_VerbosePackageIds.Contains((PackageDesc).UPackageId))) \
{ \
UE_LOG(LogStreaming, Verbosity, LogDesc TEXT(": %s (0x%s) %s (0x%s) - ") Format, \
*(PackageDesc).UPackageName.ToString(), \
*LexToString((PackageDesc).UPackageId), \
*(PackageDesc).PackagePathToLoad.GetPackageFName().ToString(), \
*LexToString((PackageDesc).PackageIdToLoad), \
}
Type
Definition LogVerbosity.h:17
@ Verbose
Definition LogVerbosity.h:46
@ VerbosityMask
Definition LogVerbosity.h:58

◆ UE_ASYNC_PACKAGE_LOG_VERBOSE

#define UE_ASYNC_PACKAGE_LOG_VERBOSE (   Verbosity,
  PackageDesc,
  LogDesc,
  Format,
  ... 
)

◆ UE_ASYNC_PACKAGEID_DEBUG

#define UE_ASYNC_PACKAGEID_DEBUG (   PackageId)
Value:
if (GAsyncLoading2_DebugPackageIds.Contains(PackageId)) \
{ \
}

◆ UE_ASYNC_UPACKAGE_DEBUG

#define UE_ASYNC_UPACKAGE_DEBUG (   UPackage)
Value:
if (GAsyncLoading2_DebugPackageIds.Contains((UPackage)->GetPackageId())) \
{ \
}
Definition Package.h:216

◆ WITH_PARTIAL_REQUEST_DURING_RECURSION

#define WITH_PARTIAL_REQUEST_DURING_RECURSION   WITH_EDITOR

Typedef Documentation

◆ FUnreachableObjects

◆ TAsyncAtomic

template<typename PayloadType >
using TAsyncAtomic = std::atomic<PayloadType>

Enumeration Type Documentation

◆ EAsyncPackageLoadingState2

Enumerator
NewPackage 
WaitingForIo 
ProcessPackageSummary 
ProcessDependencies 
WaitingForDependencies 
DependenciesReady 
CreateLinkerLoadExports 
WaitingForLinkerLoadDependencies 
ResolveLinkerLoadImports 
PreloadLinkerLoadExports 
ProcessExportBundles 
WaitingForExternalReads 
ExportsDone 
PostLoad 
DeferredPostLoad 
DeferredPostLoadDone 
Finalize 
PostLoadInstances 
CreateClusters 
Complete 
DeferredDelete 

◆ EEventLoadNode2

Event node.

Enumerator
Package_ProcessSummary 
Package_ProcessDependencies 
Package_DependenciesReady 
Package_CreateLinkerLoadExports 
Package_ResolveLinkerLoadImports 
Package_PreloadLinkerLoadExports 
Package_ExportsSerialized 
Package_NumPhases 
ExportBundle_Process 
ExportBundle_PostLoad 
ExportBundle_DeferredPostLoad 
ExportBundle_NumPhases 

◆ EEventLoadNodeExecutionResult

Enumerator
Timeout 
Complete 

◆ EExecutionType

enum class EExecutionType
strong
Enumerator
Normal 
Immediate 
Parallel 

Function Documentation

◆ ApplyLooseFileLocalizationPackageNameRedirects()

FName ApplyLooseFileLocalizationPackageNameRedirects ( FName  PackageName)

Returns localized package name to load when running as -game or using loose cooked files in a runtime process. Otherwise returns the name unchanged.

◆ CSV_DECLARE_CATEGORY_MODULE_EXTERN() [1/2]

CSV_DECLARE_CATEGORY_MODULE_EXTERN ( CORE_API  ,
Basic   
)

◆ CSV_DECLARE_CATEGORY_MODULE_EXTERN() [2/2]

CSV_DECLARE_CATEGORY_MODULE_EXTERN ( CORE_API  ,
FileIO   
)

◆ CSV_DEFINE_STAT()

CSV_DEFINE_STAT ( FileIO  ,
FrameCompletedExportBundleLoadsKB   
)

◆ FindAllRuntimeScriptPackages()

void FindAllRuntimeScriptPackages ( FRuntimeScriptPackages OutPackages)

◆ FormatPackageId()

FString FormatPackageId ( FPackageId  PackageId)

◆ LexToString() [1/2]

const TCHAR * LexToString ( EAsyncPackageLoadingState2  AsyncPackageLoadingState)

◆ LexToString() [2/2]

const TCHAR * LexToString ( EPackageLoader  PackageLoader)

◆ LLM_DEFINE_TAG()

LLM_DEFINE_TAG ( UObject_FAsyncPackage2  )

◆ MakeAsyncPackageLoader2()

IAsyncPackageLoader * MakeAsyncPackageLoader2 ( FIoDispatcher InIoDispatcher)

Creates a new instance of the AsyncPackageLoader #2.

Parameters
InIoDispatcherThe I/O dispatcher.
Returns
The async package loader.

◆ operator<<() [1/9]

FArchive & operator<< ( FArchive Ar,
FBulkDataMapEntry BulkDataEntry 
)

◆ operator<<() [2/9]

FArchive & operator<< ( FArchive Ar,
FCellExportMapEntry CellExportMapEntry 
)

◆ operator<<() [3/9]

FArchive & operator<< ( FArchive Ar,
FDependencyBundleEntry DependencyBundleEntry 
)

◆ operator<<() [4/9]

FArchive & operator<< ( FArchive Ar,
FDependencyBundleHeader DependencyBundleHeader 
)

◆ operator<<() [5/9]

FArchive & operator<< ( FArchive Ar,
FExportBundleEntry ExportBundleEntry 
)

◆ operator<<() [6/9]

FArchive & operator<< ( FArchive Ar,
FExportMapEntry ExportMapEntry 
)

◆ operator<<() [7/9]

FArchive & operator<< ( FArchive Ar,
FScriptObjectEntry ScriptObjectEntry 
)

◆ operator<<() [8/9]

FArchive & operator<< ( FArchive Ar,
FZenPackageImportedPackageNamesContainer Container 
)

◆ operator<<() [9/9]

FArchive & operator<< ( FArchive Ar,
FZenPackageVersioningInfo VersioningInfo 
)

◆ TRACE_DECLARE_ATOMIC_INT_COUNTER() [1/6]

TRACE_DECLARE_ATOMIC_INT_COUNTER ( AsyncLoadingFileSystemLoads  ,
TEXT("AsyncLoadingThread/FileSystemLoads"  
)

◆ TRACE_DECLARE_ATOMIC_INT_COUNTER() [2/6]

TRACE_DECLARE_ATOMIC_INT_COUNTER ( AsyncLoadingIoStoreLoads  ,
TEXT("AsyncLoadingThread/IoStoreLoads"  
)

◆ TRACE_DECLARE_ATOMIC_INT_COUNTER() [3/6]

TRACE_DECLARE_ATOMIC_INT_COUNTER ( AsyncLoadingLoadingPackages  ,
TEXT("AsyncLoading/PackagesLoading"  
)

◆ TRACE_DECLARE_ATOMIC_INT_COUNTER() [4/6]

TRACE_DECLARE_ATOMIC_INT_COUNTER ( AsyncLoadingPackagesWithRemainingWork  ,
TEXT("AsyncLoading/PackagesWithRemainingWork"  
)

◆ TRACE_DECLARE_ATOMIC_INT_COUNTER() [5/6]

TRACE_DECLARE_ATOMIC_INT_COUNTER ( AsyncLoadingPendingIoRequests  ,
TEXT("AsyncLoading/PendingIoRequests"  
)

◆ TRACE_DECLARE_ATOMIC_INT_COUNTER() [6/6]

TRACE_DECLARE_ATOMIC_INT_COUNTER ( AsyncLoadingQueuedPackages  ,
TEXT("AsyncLoading/PackagesQueued"  
)

◆ TRACE_DECLARE_ATOMIC_MEMORY_COUNTER()

TRACE_DECLARE_ATOMIC_MEMORY_COUNTER ( AsyncLoadingTotalLoaded  ,
TEXT("AsyncLoading/TotalLoaded"  
)

Variable Documentation

◆ CVar_CheckBlueprintCDOWillBePostLoadedAfterPreload

TAutoConsoleVariable< bool > CVar_CheckBlueprintCDOWillBePostLoadedAfterPreload(TEXT("s.CheckBlueprintCDOWillBePostLoadedAfterPreload"), true, TEXT("Determines whether or not to check that Class Default Object (CDO)s that are compiled from Blueprints (including old VerseVM classes) are" "set to be post-loaded and are in the process of being loaded." "When disabled, we will still `ensure` regardless, but will not treat these as fatal errors.")) ( TEXT("s.CheckBlueprintCDOWillBePostLoadedAfterPreload")  ,
true  ,
TEXT("Determines whether or not to check that Class Default Object (CDO)s that are compiled from Blueprints (including old VerseVM classes) are" "set to be post-loaded and are in the process of being loaded." "When disabled, we will still `ensure` regardless, but will not treat these as fatal errors."  
)