RealDocs

UAssetManager

class Engine Since 4.17
#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
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

Version History

Introduced in: 4.17

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.