UAssetManager
#include "Engine/AssetManager.h" Description
The engine singleton that manages primary asset discovery, async loading, bundle state, and chunked DLC. Subclass it in Project Settings to add game-specific asset management logic.
Caveats & Gotchas
- • Call UAssetManager::GetIfInitialized() instead of Get() if you need to check if it's been set up — Get() was deprecated in UE 5.3.
- • Primary assets must be registered in the Asset Manager settings (Project Settings → Asset Manager) or in your custom UAssetManager subclass.
- • LoadPrimaryAsset is async by default — the callback fires on the next tick or later. Do not use the result immediately after the call without checking handle validity.
- • Bundles are the recommended way to manage what gets loaded for a given game state (e.g. only load combat art when in combat).
Signature
class UAssetManager : public UObject Example
Async load a primary asset C++
FPrimaryAssetId AssetId(TEXT("WeaponData"), TEXT("Sword_01"));
TArray<FName> Bundles;
UAssetManager::GetIfInitialized()->LoadPrimaryAsset(
AssetId,
Bundles,
FStreamableDelegate::CreateUObject(this, &AMyClass::OnWeaponLoaded)
); Functions (105)
Utility 6 Asset Directory 17 Asset Loading 14 Asset Lookup 7 Asset Scanning 12 Bundle State 6 Chunk Management 7 Debugging 7 Initialization 12 Management Rules 8 Primary Assets 9
Utility 6 ▼
| Access | Type | Name |
|---|---|---|
| public | function | UAssetManager::CreatePrimaryAssetIdFromChunkId |
| public | function | UAssetManager::ExtractChunkIdFromPrimaryAssetId |
| public | function | UAssetManager::GetContentRootPathFromPackageName |
| public | function | UAssetManager::GetEncryptionKeyAssetTagName |
| public | function | UAssetManager::GetNormalizedPackagePath |
| public | function | UAssetManager::NormalizePackagePath |
Asset Directory 17 ▼
| Access | Type | Name |
|---|---|---|
| public | function | UAssetManager::GetPrimaryAssetData |
| public | function | UAssetManager::GetPrimaryAssetDataList |
| public | function | UAssetManager::GetPrimaryAssetIdForObject |
| public | function | UAssetManager::GetPrimaryAssetIdForPath |
| public | function | UAssetManager::GetPrimaryAssetIdList |
| public | function | UAssetManager::GetPrimaryAssetObject |
| public | function | UAssetManager::GetPrimaryAssetObjectClass |
| public | function | UAssetManager::GetPrimaryAssetObjectList |
| public | function | UAssetManager::GetPrimaryAssetPath |
| public | function | UAssetManager::GetPrimaryAssetPathList |
| public | function | UAssetManager::GetPrimaryAssetTypeInfo |
| public | function | UAssetManager::GetPrimaryAssetTypeInfoList |
| public | function | UAssetManager::InvalidatePrimaryAssetDirectory |
| public | function | UAssetManager::RefreshPrimaryAssetDirectory |
| public | function | UAssetManager::ExtractPrimaryAssetIdFromData |
| public | function | UAssetManager::GetPrimaryAssetIdForData |
| public | function | UAssetManager::GetPrimaryAssetIdForPackage |
Asset Loading 14 ▼
| Access | Type | Name |
|---|---|---|
| public | function | UAssetManager::ChangeBundleStateForMatchingPrimaryAssets |
| public | function | UAssetManager::ChangeBundleStateForPrimaryAssets |
| public | function | UAssetManager::GetPrimaryAssetHandle |
| public | function | UAssetManager::LoadAssetList |
| public | function | UAssetManager::LoadPrimaryAsset |
| public | function | UAssetManager::LoadPrimaryAssets |
| public | function | UAssetManager::LoadPrimaryAssetsWithType |
| public | function | UAssetManager::PreloadPrimaryAssets |
| public | function | UAssetManager::UnloadPrimaryAsset |
| public | function | UAssetManager::UnloadPrimaryAssets |
| public | function | UAssetManager::UnloadPrimaryAssetsWithType |
| public | function | UAssetManager::DownloadAssetList |
| public | function | UAssetManager::PredownloadPrimaryAssets |
| public | function | UAssetManager::RecursivelyExpandBundleData |
Asset Lookup 7 ▼
| Access | Type | Name |
|---|---|---|
| public | function | UAssetManager::GetAssetDataForPath |
| public | function | UAssetManager::GetAssetPathForData |
| public | function | UAssetManager::SearchAssetRegistryPaths |
| public | function | UAssetManager::DoesAssetMatchSearchRules |
| public | function | UAssetManager::ExtractSoftObjectPaths |
| public | function | UAssetManager::GetRedirectedAssetPath |
| public | function | UAssetManager::IsAssetDataBlueprintOfClassSet |
Asset Scanning 12 ▼
| Access | Type | Name |
|---|---|---|
| public | function | UAssetManager::AddDynamicAsset |
| public | function | UAssetManager::GetAssetSearchRoots |
| public | function | UAssetManager::ScanPathForPrimaryAssets |
| public | function | UAssetManager::ScanPathsForPrimaryAssets |
| public | function | UAssetManager::AddAssetSearchRoot |
| public | function | UAssetManager::ExpandVirtualPaths |
| public | function | UAssetManager::PopBulkScanning |
| public | function | UAssetManager::PushBulkScanning |
| public | function | UAssetManager::Register_OnAddedAssetSearchRoot |
| public | function | UAssetManager::RemovePrimaryAssetType |
| public | function | UAssetManager::RemoveScanPathsForPrimaryAssets |
| public | function | UAssetManager::Unregister_OnAddedAssetSearchRoot |
Bundle State 6 ▼
| Access | Type | Name |
|---|---|---|
| public | function | UAssetManager::GetAssetBundleEntries |
| public | function | UAssetManager::GetAssetBundleEntry |
| public | function | UAssetManager::GetPrimaryAssetBundleStateMap |
| public | function | UAssetManager::GetPrimaryAssetLoadList |
| public | function | UAssetManager::GetPrimaryAssetLoadSet |
| public | function | UAssetManager::GetPrimaryAssetsWithBundleState |
Chunk Management 7 ▼
| Access | Type | Name |
|---|---|---|
| public | function | UAssetManager::AcquireResourcesForAssetList |
| public | function | UAssetManager::AcquireResourcesForPrimaryAssetList |
| public | function | UAssetManager::FindMissingChunkList |
| public | function | UAssetManager::GetCachedPrimaryAssetEncryptionKeyGuid |
| public | function | UAssetManager::GetPakChunkIdToStringMapping |
| public | function | UAssetManager::GetPakStringToChunkIdMapping |
| public | function | UAssetManager::GetResourceAcquireProgress |
Debugging 7 ▼
| Access | Type | Name |
|---|---|---|
| public | function | UAssetManager::DumpAssetRegistryInfo |
| public | function | UAssetManager::DumpAssetTypeSummary |
| public | function | UAssetManager::DumpBundlesForAsset |
| public | function | UAssetManager::DumpLoadedAssetState |
| public | function | UAssetManager::DumpReferencersForPackage |
| public | function | UAssetManager::GetAllReferencersForPackage |
| public | function | UAssetManager::WriteCustomReport |
Initialization 12 ▼
| Access | Type | Name |
|---|---|---|
| public | function | UAssetManager::Get |
| public | function | UAssetManager::IsInitialized |
| public | function | UAssetManager::CallOrRegister_OnAssetManagerCreated |
| public | function | UAssetManager::CallOrRegister_OnCompletedInitialScan |
| public | function | UAssetManager::GetAssetRegistry |
| public | function | UAssetManager::GetIfInitialized |
| public | function | UAssetManager::GetSettings |
| public | function | UAssetManager::GetStreamableManager |
| public | function | UAssetManager::HasInitialScanCompleted |
| public | function | UAssetManager::FinishInitialLoading |
| public | function | UAssetManager::GetTimerManager |
| public | function | UAssetManager::StartInitialLoading |
Management Rules 8 ▼
| Access | Type | Name |
|---|---|---|
| public | function | UAssetManager::ApplyCustomPrimaryAssetRulesOverride |
| public | function | UAssetManager::GetManagedPackageList |
| public | function | UAssetManager::GetPackageCookRuleManagers |
| public | function | UAssetManager::GetPackageManagers |
| public | function | UAssetManager::GetPrimaryAssetRules |
| public | function | UAssetManager::SetPrimaryAssetRules |
| public | function | UAssetManager::SetPrimaryAssetRulesExplicitly |
| public | function | UAssetManager::SetPrimaryAssetTypeRules |
Primary Assets 9 ▼
| Access | Type | Name |
|---|---|---|
| public | function | UAssetManager::ScanPathsSynchronous |
| public | function | UAssetManager::DeterminePrimaryAssetIdForObject |
| public | function | UAssetManager::GetPreviousPrimaryAssetIds |
| public | function | UAssetManager::GetRedirectedPrimaryAssetId |
| public | function | UAssetManager::LoadRedirectorMaps |
| public | function | UAssetManager::OnAssetRegistryAvailableAfterInitialization |
| public | function | UAssetManager::RegisterSpecificPrimaryAsset |
| public | function | UAssetManager::ShouldScanPrimaryAssetType |
| public | function | UAssetManager::WarnAboutInvalidPrimaryAsset |
See Also
Tags
Version History
Introduced in: 4.17
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?