15#include "AssetManager.generated.h"
21class FAssetManagerEditorModule;
91 UE_DEPRECATED(5.3,
"AssetManager is now always constructed during UEngine::InitializeObjectReferences. Call IsInitialized instead if you need to check whether it has not yet been initialized.")
99 UE_DEPRECATED(5.3,
"AssetManager is now always constructed during UEngine::InitializeObjectReferences. Call GetIfInitialized instead if you need to check whether it has not yet been initialized.")
154 ENGINE_API virtual int32 ScanPathForPrimaryAssets(
FPrimaryAssetType PrimaryAssetType,
const FString& Path,
UClass* BaseClass,
bool bHasBlueprintClasses,
bool bIsEditorOnly =
false,
bool bForceSynchronousScan =
true);
186 static ENGINE_API void CallOrRegister_OnCompletedInitialScan(FSimpleMulticastDelegate::FDelegate&& Delegate);
189 static ENGINE_API void CallOrRegister_OnAssetManagerCreated(FSimpleMulticastDelegate::FDelegate&& Delegate);
192 ENGINE_API virtual bool HasInitialScanCompleted()
const;
222 template<
class AssetType>
229 template<
class AssetType>
552 FString&& DebugName = FString(
TEXT(
"LoadAssetList")),
559 FString&& DebugName = FString(
TEXT(
"LoadAssetList")),
575 FString&& DebugName = FString(
TEXT(
"LoadAssetList")),
592 FString&& DebugName = FString(
TEXT(
"LoadAssetList")),
609 FString&& DebugName = FString(
TEXT(
"DownloadAssetList")),
615 FString&& DebugName = FString(
TEXT(
"DownloadAssetList")),
755 static ENGINE_API void DumpAssetTypeSummary();
758 static ENGINE_API void DumpLoadedAssetState();
764 static ENGINE_API void DumpAssetRegistryInfo();
773 ENGINE_API virtual void StartInitialLoading();
776 ENGINE_API virtual void FinishInitialLoading();
788 ENGINE_API virtual void BeginDestroy()
override;
790 ENGINE_API virtual void PostInitProperties()
override;
799 ENGINE_API virtual void RefreshPrimaryAssetDirectory(
bool bForceRefresh =
false);
802 ENGINE_API virtual void InvalidatePrimaryAssetDirectory();
805 ENGINE_API virtual void WarnAboutInvalidPrimaryAsset(
const FPrimaryAssetId& PrimaryAssetId,
const FString& Message)
const;
899 UE_DEPRECATED(5.6,
"UpdateManagementDatabase as been updated to take InFlags instead.")
1004 ENGINE_API virtual void OnObjectReferenceListInvalidated();
1010 UE_DEPRECATED(5.6,
"Use NotifyOnAssetStateChangeCompleted instead")
1020 ENGINE_API virtual void ScanPrimaryAssetTypesFromConfig();
1023 ENGINE_API virtual void ScanPrimaryAssetRulesFromConfig();
1029 ENGINE_API virtual void PostInitialAssetScan();
1032 ENGINE_API virtual bool IsPathExcludedFromScan(
const FString& Path)
const;
1035 ENGINE_API bool IsScanningFromInitialConfig()
const;
1047 UE_DEPRECATED(5.6,
"Function was renamed to LoadAssetList that accepts FAssetManagerLoadParams struct.")
1057 UE_DEPRECATED(5.6,
"Override the version that takes an FShouldSetManagerContext instead.")
1104 UE_DEPRECATED(5.6,
"BuildChunkMap now takes 2 additional arguments")
1182 bool bIsGlobalAsyncScanEnvironment;
1186 bool bShouldGuessTypeAndName;
1190 bool bShouldUseSynchronousLoad;
1194 bool bIsLoadingFromPakFiles;
1198 bool bShouldAcquireMissingChunksOnLoad;
1202 bool bOnlyCookProductionAssets;
1205 bool bTargetPlatformsAllowDevelopmentObjects;
1207 bool bObjectReferenceListDirty =
true;
1215 bool bIsPrimaryAssetDirectoryCurrent;
1219 bool bIsManagementDatabaseCurrent;
1223 bool bUpdateManagementDatabaseAfterScan;
1227 bool bIncludeOnlyOnDiskAssets;
1231 bool bHasCompletedInitialScan;
1239 TMap<FString, FString> PrimaryAssetIdRedirects;
1256 bool bOldTemporaryCachingMode =
false;
1259 bool bScanningFromInitialConfig =
false;
1343 FString&& DebugName,
1357 FString&& DebugName,
1370 FString&& DebugName,
1379 FString&& DebugName,
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
EPrimaryAssetCookRule
Definition AssetManagerTypes.h:29
EAssetManagerFilter
Definition AssetManagerTypes.h:279
EUpdateManagementDatabaseFlags
Definition AssetManager.h:71
bool bSuccess
Definition ConvexDecomposition3.cpp:819
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_INTERNAL
Definition CoreMiscDefines.h:345
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:57
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
return true
Definition ExternalRpcRegistry.cpp:601
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
int16 FStreamableDownloadPriority
Definition StreamableManager.h:37
TDelegate< void()> FStreamableDelegate
Definition StreamableManager.h:32
int32 TAsyncLoadPriority
Definition UObjectGlobals.h:726
UE_REWRITE T CopyTemp(T &Val)
Definition UnrealTemplate.h:554
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition AssetRegistry.Build.cs:6
Definition AssetRegistryState.h:158
Definition ContentEncryptionConfig.h:11
Definition IDelegateInstance.h:14
Definition NameTypes.h:617
Definition ObjectSaveContext.h:244
Definition TimerManager.h:133
Definition IAssetRegistry.h:263
Definition ArrayView.h:139
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SubclassOf.h:30
Definition AssetManagerSettings.h:68
Definition AssetManager.h:84
virtual void GetPakChunkIdToStringMapping(TMap< int32, FString > &ChunkIdStringOverride)
Definition AssetManager.h:980
virtual TSharedPtr< FStreamableHandle > ChangeBundleStateForMatchingPrimaryAssets(const TArray< FName > &NewBundles, const TArray< FName > &OldBundles, FStreamableDelegate DelegateToCall=FStreamableDelegate(), TAsyncLoadPriority Priority=FStreamableManager::DefaultAsyncLoadPriority, UE::FSourceLocation Location=UE::FSourceLocation::Current())
Definition AssetManager.h:1321
static ENGINE_API const FString DynamicSearchRootsVirtualPath
Definition AssetManager.h:126
TSet< FPrimaryAssetId > WarningInvalidAssets
Definition AssetManager.h:1140
TMap< FPrimaryAssetId, TArray< FPrimaryAssetId > > ManagementParentMap
Definition AssetManager.h:1132
TSharedPtr< FStreamableHandle > LoadAssetList(const TArray< FSoftObjectPath > &AssetList, FStreamableDelegate DelegateToCall=FStreamableDelegate(), TAsyncLoadPriority Priority=FStreamableManager::DefaultAsyncLoadPriority, FString &&DebugName=FString(TEXT("LoadAssetList")), UE::FSourceLocation &&Location=UE::FSourceLocation::Current())
Definition AssetManager.h:1339
TArray< FString > AllAssetSearchRoots
Definition AssetManager.h:1146
static ENGINE_API const FString AssetSearchRootsVirtualPath
Definition AssetManager.h:123
TSharedPtr< FStreamableHandle > DownloadAssetList(const TArray< FSoftObjectPath > &AssetList, FAssetManagerLoadParams &&LoadParams, FString &&DebugName=FString(TEXT("DownloadAssetList")), UE::FSourceLocation &&Location=UE::FSourceLocation::Current())
Definition AssetManager.h:1376
virtual TSharedPtr< FStreamableHandle > PreloadPrimaryAssets(const TArray< FPrimaryAssetId > &AssetsToLoad, const TArray< FName > &LoadBundles, bool bLoadRecursive, FStreamableDelegate DelegateToCall=FStreamableDelegate(), TAsyncLoadPriority Priority=FStreamableManager::DefaultAsyncLoadPriority, UE::FSourceLocation Location=UE::FSourceLocation::Current())
Definition AssetManager.h:1330
friend FAssetManagerEditorModule
Definition AssetManager.h:992
FStreamableManager StreamableManager
Definition AssetManager.h:1152
virtual TSharedPtr< FStreamableHandle > LoadPrimaryAsset(const FPrimaryAssetId &AssetToLoad, const TArray< FName > &LoadBundles=TArray< FName >(), FStreamableDelegate DelegateToCall=FStreamableDelegate(), TAsyncLoadPriority Priority=FStreamableManager::DefaultAsyncLoadPriority, UE::FSourceLocation Location=UE::FSourceLocation::Current())
Definition AssetManager.h:1294
TMap< FSoftObjectPath, FPrimaryAssetId > AssetPathMap
Definition AssetManager.h:1126
static FStreamableManager & GetStreamableManager()
Definition AssetManager.h:105
static ENGINE_API const FPrimaryAssetType MapType
Definition AssetManager.h:108
static ENGINE_API const FPrimaryAssetType SuppressionType
Definition AssetManager.h:120
TMap< FPrimaryAssetId, FPrimaryAssetRulesExplicitOverride > AssetRuleOverrides
Definition AssetManager.h:1129
bool IsBulkScanning() const
Definition AssetManager.h:169
TArray< FString > AlreadyScannedDirectories
Definition AssetManager.h:1143
TMap< FPrimaryAssetId, TSharedPtr< FAssetBundleData, ESPMode::ThreadSafe > > CachedAssetBundles
Definition AssetManager.h:1137
virtual void GetPakChunkIdToStringMapping(const FString &PlatformName, TMap< int32, FString > &ChunkIdStringOverride)
Definition AssetManager.h:981
TArray< FPendingChunkInstall > PendingChunkInstalls
Definition AssetManager.h:1171
virtual TSharedPtr< FStreamableHandle > LoadPrimaryAssets(const TArray< FPrimaryAssetId > &AssetsToLoad, const TArray< FName > &LoadBundles=TArray< FName >(), FStreamableDelegate DelegateToCall=FStreamableDelegate(), TAsyncLoadPriority Priority=FStreamableManager::DefaultAsyncLoadPriority, UE::FSourceLocation Location=UE::FSourceLocation::Current())
Definition AssetManager.h:1285
virtual TSharedPtr< FStreamableHandle > LoadPrimaryAssetsWithType(FPrimaryAssetType PrimaryAssetType, const TArray< FName > &LoadBundles=TArray< FName >(), FStreamableDelegate DelegateToCall=FStreamableDelegate(), TAsyncLoadPriority Priority=FStreamableManager::DefaultAsyncLoadPriority, UE::FSourceLocation Location=UE::FSourceLocation::Current())
Definition AssetManager.h:1303
TSubclassOf< AssetType > GetPrimaryAssetObjectClass(const FPrimaryAssetId &PrimaryAssetId) const
Definition AssetManager.h:230
virtual void NotifyOnAssetStateChangeCompleted(const FPrimaryAssetId &PrimaryAssetId)
Definition AssetManager.h:1014
TMap< FPrimaryAssetId, FGuid > PrimaryAssetEncryptionKeyCache
Definition AssetManager.h:1174
static ENGINE_API const FPrimaryAssetType PrimaryAssetLabelType
Definition AssetManager.h:111
TArray< FString > AddedAssetSearchRoots
Definition AssetManager.h:1149
virtual TSharedPtr< FStreamableHandle > ChangeBundleStateForPrimaryAssets(const TArray< FPrimaryAssetId > &AssetsToChange, const TArray< FName > &AddBundles, const TArray< FName > &RemoveBundles, bool bRemoveAllBundles=false, FStreamableDelegate DelegateToCall=FStreamableDelegate(), TAsyncLoadPriority Priority=FStreamableManager::DefaultAsyncLoadPriority, UE::FSourceLocation Location=UE::FSourceLocation::Current())
Definition AssetManager.h:1312
TMap< FPrimaryAssetId, TArray< FPrimaryAssetId > > CookRuleManagementParentMap
Definition AssetManager.h:1134
AssetType * GetPrimaryAssetObject(const FPrimaryAssetId &PrimaryAssetId) const
Definition AssetManager.h:223
static ENGINE_API const FPrimaryAssetType PackageChunkType
Definition AssetManager.h:114
Definition SourceLocation.h:21
static UE_CONSTEVAL FSourceLocation Current(FSourceLocationImpl Impl=FSourceLocationImpl::current()) noexcept
Definition SourceLocation.h:107
Definition AssetRegistryInterface.h:441
Definition AssetRegistryInterface.h:431
Type
Definition AssetRegistryInterface.h:433
@ DoNotSet
Definition AssetRegistryInterface.h:434
Type
Definition GenericPlatformChunkInstall.h:57
@ Immediate
Definition GenericPlatformChunkInstall.h:58
Definition PackageReader.h:15
Definition CookOnTheFly.h:19
FStreamableDelegateWithHandle WrapDelegate(const FStreamableDelegate &InDelegate)
Definition StreamableManager.h:52
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
Definition AssetBundleData.h:82
Definition AssetBundleData.h:24
Definition AssetData.h:162
Definition AssetIdentifier.h:12
Definition AssetManagerTypes.h:269
Definition AssetManager.h:47
bool bInstallSoftReferences
Definition AssetManager.h:51
bool operator==(const FAssetManagerDownloadParams &Right) const =default
FStreamableDownloadPriority Priority
Definition AssetManager.h:49
Definition AssetManager.h:57
TOptional< FAssetManagerDownloadParams > DownloadParams
Definition AssetManager.h:67
FStreamableDelegateWithHandle OnComplete
Definition AssetManager.h:59
FStreamableUpdateDelegate OnUpdate
Definition AssetManager.h:63
FStreamableDelegateWithHandle OnCancel
Definition AssetManager.h:61
TAsyncLoadPriority Priority
Definition AssetManager.h:65
Definition AssetManagerTypes.h:295
Definition AssetManager.cpp:522
Definition AssetManager.cpp:384
Definition PrimaryAssetId.h:126
Definition AssetManagerSettings.h:45
Definition AssetManagerTypes.h:111
Definition AssetManagerTypes.h:67
Definition AssetManager.cpp:411
Definition AssetManagerTypes.h:132
Definition PrimaryAssetId.h:28
Definition SoftObjectPath.h:56
Definition StreamableManager.h:191
Definition StreamableManager.h:706
static constexpr TAsyncLoadPriority DefaultAsyncLoadPriority
Definition StreamableManager.h:708
Definition ObjectPtr.h:488
Definition Optional.h:131
Definition AssetManager.h:1156
TArray< int32 > RequestedChunks
Definition AssetManager.h:1158
TArray< int32 > PendingChunks
Definition AssetManager.h:1161
TSharedPtr< FStreamableHandle > StalledStreamableHandle
Definition AssetManager.h:1164
FAssetManagerAcquireResourceDelegate ManualCallback
Definition AssetManager.h:1167
Definition IAssetRegistry.h:83