Navigation
API > API/Developer > API/Developer/DerivedDataCache
A build definition is an immutable reference to a build function and its inputs.
The purpose of a definition is to capture everything required to execute a derived data build. The definition is partly fixed (function name, constants, input hashes) and is partly variable (function version, build dependencies, bulk data, files), and the variable components mean the output from building the definition can vary depending on the versions of those components.
The key for the definition uniquely identifies the definition using the hash of the serialized compact binary representation of the definition.
The keys for constants and inputs are names that are unique within the build definition.
To build a definition against a specific version of the function and inputs, queue it to build on a build session, which uses its build input provider to convert it to a build action.
| Name | FBuildDefinition |
| Type | class |
| Header File | /Engine/Source/Developer/DerivedDataCache/Public/DerivedDataBuildDefinition.h |
| Include Path | #include "DerivedDataBuildDefinition.h" |
Syntax
class FBuildDefinition
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FBuildDefinition
(
Private::IBuildDefinitionInternal* InDefinition |
Construct a build definition. | DerivedDataBuildDefinition.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Definition | TRefCountPtr< Private::IBuildDefinitionInternal > | DerivedDataBuildDefinition.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FUtf8SharedString & GetFunction() |
Returns the name of the build function with which to build this definition. | DerivedDataBuildDefinition.h | |
const FBuildKey & GetKey() |
Returns the key that uniquely identifies this build definition. | DerivedDataBuildDefinition.h | |
const FSharedString & GetName() |
Returns the name by which to identify this definition for logging and profiling. | DerivedDataBuildDefinition.h | |
bool HasConstants() |
Returns whether the definition has any constants. | DerivedDataBuildDefinition.h | |
bool HasInputs() |
Returns whether the definition has any inputs. | DerivedDataBuildDefinition.h | |
void IterateConstants
(
TFunctionRef< void(FUtf8StringView Key, FCbObject&&Value)> Visitor |
Visits every constant in order by key. The key view is valid for the lifetime of the definition. | DerivedDataBuildDefinition.h | |
void IterateInputBuilds
(
TFunctionRef< void(FUtf8StringView Key, const FBuildValueKey&ValueKey)> Visitor |
Visits every input build value in order by key. | DerivedDataBuildDefinition.h | |
void IterateInputBulkData
(
TFunctionRef< void(FUtf8StringView Key, const FGuid&BulkDataId)> Visitor |
Visits every input bulk data in order by key. | DerivedDataBuildDefinition.h | |
void IterateInputFiles
(
TFunctionRef< void(FUtf8StringView Key, FUtf8StringView Path)> Visitor |
Visits every input file in order by key. | DerivedDataBuildDefinition.h | |
void IterateInputHashes
(
TFunctionRef< void(FUtf8StringView Key, const FIoHash&RawHash)> Visitor |
Visits every input hash in order by key. The key view is valid for the lifetime of the definition. | DerivedDataBuildDefinition.h | |
void Save
(
FCbWriter& Writer |
Saves the build definition to a compact binary object. Calls BeginObject and EndObject. | DerivedDataBuildDefinition.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FOptionalBuildDefinition Load
(
const FSharedString& Name, |
Load a build definition from compact binary. | DerivedDataBuildDefinition.h |