UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPrimaryAssetCookRuleUnion Struct Reference

#include <AssetManagerTypes.h>

Public Member Functions

ENGINE_API void UnionWith (EPrimaryAssetCookRule CookRule, bool bDirectReference, const FPrimaryAssetId &Id, int32 Priority)
 
ENGINE_API EPrimaryAssetCookRule GetRule (TOptional< TTuple< FPrimaryAssetId, FPrimaryAssetId > > *OutConflictIds)
 

Friends

void SerializeForLog (FCbWriter &Writer, const FPrimaryAssetRules &Value)
 

Detailed Description

Merges CookRules from multiple managers to decide the final CookRule for an asset they manage.

Member Function Documentation

◆ GetRule()

ENGINE_API EPrimaryAssetCookRule FPrimaryAssetCookRuleUnion::GetRule ( TOptional< TTuple< FPrimaryAssetId, FPrimaryAssetId > > *  OutConflictIds)

Get the result of the unions up to this point. If OutConflictIds is non-null, it will be cleared if there are no conflicts, and will be set to the Ids that have a conflict between inclusion and exclusion.

◆ UnionWith()

ENGINE_API void FPrimaryAssetCookRuleUnion::UnionWith ( EPrimaryAssetCookRule  CookRule,
bool  bDirectReference,
const FPrimaryAssetId Id,
int32  Priority 
)

Add the information from another manager to the Union.

Parameters
CookRuleThe CookRule in the manager's FPrimaryAssetRules. CookRules that add references (AlwaysCook, DevelopmentAlwaysCook) apply an inclusion for their production level (Production or Development) and all lower levels. (e.g. AlwaysCooked applies an inclusion for both Production and Development). CookRules that add exclusions (NeverCook, ProductionNeverCook, DevelopmentAlwaysProductionNeverCook) apply an exclusion for their production level and all higher levels (e.g. NeverCooked applies an exclusion for both Production and Development.) Inclusions for each level are unioned, and exclusions for each level are unioned.
bDirectReferenceWhether the manager's reference to the asset being managed is direct. Inclusions (AlwaysCook, DevelopmentAlwaysCook) apply transitively - both direct and indirect references apply the inclusion. Exclusions (NeverCook, ProductionNeverCook, DevelopmentAlwaysProductionNeverCook) apply only to direct references. e.g. PrimaryAssetId A has DevelopmentAlwaysProductionNeverCook A -> B B -> C B == DevelopmentAlwaysProductionNeverCook C == DevelopmentAlwaysProductionUnknownCook
IdRecord of the Manager that has the reference to the asset, used for error feedback if there is a conflict.
PriorityThe Manager's Priority. In the case of a conflict between two managers (one excluding and one including at the same level), if the priorities are different this is not an error, and the exclusion or inclusion directive from the higher-priority mangager will be kept. If the priorities are equal, the exclusion will be kept and a conflict result will be returned from GetRule.

Friends And Related Symbol Documentation

◆ SerializeForLog

void SerializeForLog ( FCbWriter Writer,
const FPrimaryAssetRules Value 
)
friend

The documentation for this struct was generated from the following file: