UE::DerivedData::EBuildPolicy

Flags to control the behavior of build requests.

Windows
MacOS
Linux

References

Module

DerivedDataCache

Header

/Engine/Source/Developer/DerivedDataCache/Public/DerivedDataBuildTypes.h

Include

#include "DerivedDataBuildTypes.h"

Syntax

namespace UE
{
    namespace DerivedData
    {
        enum EBuildPolicy
        {
            None                 = 0,
            BuildLocal           = 1 << 0,
            BuildRemote          = 1 << 1,
            Build                = BuildLocal | BuildRemote,
            CacheQuery           = 1 << 2,
            CacheStoreOnQuery    = 1 << 3,
            CacheStoreOnBuild    = 1 << 4,
            CacheStore           = CacheStoreOnQuery | CacheStoreOnBuild,
            Cache                = CacheQuery | CacheStore,
            CacheKeepAlive       = 1 << 5,
            SkipData             = 1 << 6,
            Default              = Build | Cache,
        }
    }
}

Values

Name

Description

None

A value without any flags set.

BuildLocal

Allow local execution of the build function.

BuildRemote

Allow remote execution of the build function if it has a registered build worker.

Build

Allow local and remote execution of the build function.

CacheQuery

Allow a cache query to avoid having to build.

CacheStoreOnQuery

Allow a cache store to persist the build output when another cache store contains it.

CacheStoreOnBuild

Allow a cache store to persist the build output when the build function executes.

CacheStore

Allow a cache store to persist the build output.

Cache

Allow a cache query and a cache store for the build.

CacheKeepAlive

Keep records in the cache for at least the duration of the session.

SkipData

Skip fetching or returning data for the values.

Default

Allow cache query+store, allow local+remote build when missed or skipped, and fetch the value(s).

Remarks

Flags to control the behavior of build requests.

The build policy flags can be combined to support a variety of usage patterns. Examples:

Build(Default): allow cache get; build if missing; return every value. Build(Build | CacheStore): never query the cache; always build; return every value. Build(Cache | CacheSkipData): allow cache get; never build; skip every value.

BuildValue(Default): allow cache get; build if missing; return one value. BuildValue(Build | CacheStore): never get from the cache; always build; return one value. BuildValue(Cache | CacheSkipData): allow cache get; never build; skip every value.