UAssetManager::ChangeBundleStateForPrimaryAssets
#include "Engine/AssetManager.h"
Access: public
Specifiers: virtual
Description
Adds and removes bundle state on a set of already-loaded primary assets, streaming in newly required bundle assets and calling the delegate once the change completes.
Caveats & Gotchas
- • Only affects assets that are already loaded — it does not load AssetsToChange themselves if they aren't resident, use LoadPrimaryAssets first.
- • RemoveBundles only removes the bundles you explicitly list; set bRemoveAllBundles to true if you want to clear every bundle not present in AddBundles.
Signature
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()); Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| AssetsToChange | const TArray<FPrimaryAssetId>& | List of primary assets to change bundle state for. | — |
| AddBundles | const TArray<FName>& | Bundles to add. | — |
| RemoveBundles | const TArray<FName>& | Explicit list of bundles to remove. | — |
| bRemoveAllBundles | bool | If true, removes all existing bundles even if not in RemoveBundles. | false |
| DelegateToCall | FStreamableDelegate | Delegate invoked on completion. | FStreamableDelegate() |
| Priority | TAsyncLoadPriority | Async loading priority for the request. | FStreamableManager::DefaultAsyncLoadPriority |
| Location | UE::FSourceLocation | Call-site source location captured for streaming diagnostics; not meant to be passed explicitly. | UE::FSourceLocation::Current() |
Return Type
TSharedPtr<FStreamableHandle> Example
Adding a bundle to already-loaded assets C++
UAssetManager::Get().ChangeBundleStateForPrimaryAssets(
AssetsToChange,
{ FName("HighRes") },
TArray<FName>(),
false,
FStreamableDelegate::CreateUObject(this, &AMyClass::OnBundleChanged)); Tags
Version History
Introduced in: unknown
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?