UAssetManager::SetPrimaryAssetRulesExplicitly
#include "Engine/AssetManager.h"
Access: public
Specifiers: virtual
Description
Overrides individual fields of a primary asset's management rules using explicit per-field override flags, instead of replacing the entire rules struct at once as SetPrimaryAssetRules does.
Caveats & Gotchas
- • Unlike SetPrimaryAssetRules, fields not flagged via the bOverride* members are left untouched rather than reset to defaults, which matters if another system has already set some of this asset's rules.
- • FPrimaryAssetRulesExplicitOverride::HasAnyOverride() returns false if no flags are set, in which case the call is effectively a no-op.
Signature
virtual void SetPrimaryAssetRulesExplicitly(FPrimaryAssetId PrimaryAssetId, const FPrimaryAssetRulesExplicitOverride& ExplicitRules); Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| PrimaryAssetId | FPrimaryAssetId | Specific primary asset to override management rules for. | — |
| ExplicitRules | const FPrimaryAssetRulesExplicitOverride& | Rules combined with per-field override flags, so only the fields explicitly marked are applied. | — |
Return Type
void Example
Override only the cook rule, leaving priority/chunk untouched C++
UAssetManager& Manager = UAssetManager::Get();
FPrimaryAssetRulesExplicitOverride Override;
Override.Rules.CookRule = EPrimaryAssetCookRule::NeverCook;
Override.bOverrideCookRule = true;
Manager.SetPrimaryAssetRulesExplicitly(FPrimaryAssetId(TEXT("Item"), TEXT("DebugOnlySword")), Override); Version History
Introduced in: unknown
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?