---
title: "QuartzUIProjectAudit: declaration reference"
description: "Quartz UI 0.57.0-dev: QuartzUIProjectAudit: declaration reference. Source-reviewed guidance, usage and limitations."
status: approved
visibility: public
sourceRevision: fe5b709ec900e282b50e58b819a25041945005f9
reviewedAt: 2026-09-24
---

# QuartzUIProjectAudit: declaration reference

> **0.57.0-dev · beta source documentation.** Native, Blueprint, Editor and rendering examples are source-reviewed, not executed in Unreal during this scan. See [validation and limits](https://betterbuilt.games/docs/quartz-ui/evidence).

Pinned source (source: `Source/QuartzUIEditor/Public/QuartzUIProjectAudit.h`) · [integration recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuiprojectaudit) · [practical guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping)

## FQuartzUIStagedFile

**Editor type.** One exact project-owned file admitted to the UFS package payload.

**Prerequisites / integration:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the [QuartzUIProjectAudit recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuiprojectaudit) in the host module `QuartzUIEditor`.

**Minimal example / lifecycle:** QuartzUIValidate -Mode=Shipping; inspect audit result. Current output is validated without Node/build side effects.

**Avoid:** Confusing audit manifest with per-app build manifest. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIEditor/Public/QuartzUIProjectAudit.h#L9`)

## FQuartzUIAuditedApp

**Editor type.** Resolved identity and freshness evidence for one registered production app.

**Prerequisites / integration:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the [QuartzUIProjectAudit recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuiprojectaudit) in the host module `QuartzUIEditor`.

**Minimal example / lifecycle:** QuartzUIValidate -Mode=Shipping; inspect audit result. Current output is validated without Node/build side effects.

**Avoid:** Confusing audit manifest with per-app build manifest. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIEditor/Public/QuartzUIProjectAudit.h#L20`)

## FQuartzUIProjectAuditOptions

**Editor type.** Shared invocation options for Editor UI, commandlets, CI, tests, and cook.

**Prerequisites / integration:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the [QuartzUIProjectAudit recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuiprojectaudit) in the host module `QuartzUIEditor`.

**Minimal example / lifecycle:** QuartzUIValidate -Mode=Shipping; inspect audit result. Current output is validated without Node/build side effects.

**Avoid:** Confusing audit manifest with per-app build manifest. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIEditor/Public/QuartzUIProjectAudit.h#L33`)

## FQuartzUIProjectAuditResult

**Editor type.** Canonical package manifest plus a machine-readable audit result.

**Prerequisites / integration:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the [QuartzUIProjectAudit recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuiprojectaudit) in the host module `QuartzUIEditor`.

**Minimal example / lifecycle:** QuartzUIValidate -Mode=Shipping; inspect audit result. Current output is validated without Node/build side effects.

**Avoid:** Confusing audit manifest with per-app build manifest. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIEditor/Public/QuartzUIProjectAudit.h#L52`)

## FQuartzUIProjectAuditService

**Editor type.** Deterministic production-output policy shared by every non-interactive path. It validates already-built project output and never invokes Node, copies an app, installs dependencies, or writes below the installed plugin.

**Prerequisites / integration:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the [QuartzUIProjectAudit recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuiprojectaudit) in the host module `QuartzUIEditor`.

**Minimal example / lifecycle:** QuartzUIValidate -Mode=Shipping; inspect audit result. Current output is validated without Node/build side effects.

**Avoid:** Confusing audit manifest with per-app build manifest. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIEditor/Public/QuartzUIProjectAudit.h#L71`)

## Complete header

Source snapshot, not an additional example. Unreal annotations distinguish exposed Blueprint nodes from native-only/private methods.

```cpp
#pragma once

#include "CoreMinimal.h"
#include "QuartzUIProjectValidation.h"

class UQuartzUIProjectSettings;

/** One exact project-owned file admitted to the UFS package payload. */
struct QUARTZUIEDITOR_API FQuartzUIStagedFile
{
	FName AppId;
	FString ProjectRelativePath;
	FString AppRelativePath;
	int64 Size = 0;
	FString Sha256;
	FString Reason;
};

/** Resolved identity and freshness evidence for one registered production app. */
struct QUARTZUIEDITOR_API FQuartzUIAuditedApp
{
	FName AppId;
	FString SourceRoot;
	FString BuildRoot;
	FString CookedRoot;
	FString EntryPage;
	FString Origin;
	FString ContractFingerprint;
	FString LocalizationFingerprint;
};

/** Shared invocation options for Editor UI, commandlets, CI, tests, and cook. */
struct QUARTZUIEDITOR_API FQuartzUIProjectAuditOptions
{
	EQuartzUIValidationTarget Target = EQuartzUIValidationTarget::CommandLine;

	/** Absolute project-directory override used only by isolated automation fixtures. */
	FString ProjectDirectory;

	/** Optional command-line evidence destinations. Empty values use project settings. */
	FString ManifestPath;
	FString AuditReportPath;

	/** Product entry points reject any conflicting loose NonUFS staging policy. */
	bool bCheckStagingConfiguration = true;

	/** Tests can inspect canonical bytes without changing the filesystem. */
	bool bWriteArtifacts = true;
};

/** Canonical package manifest plus a machine-readable audit result. */
struct QUARTZUIEDITOR_API FQuartzUIProjectAuditResult
{
	bool bValid = false;
	FString BuildIdentity;
	FString ManifestSha256;
	FString ManifestPath;
	FString AuditReportPath;
	FString ManifestJson;
	FString AuditJson;
	TArray<FQuartzUIAuditedApp> Apps;
	TArray<FQuartzUIStagedFile> Files;
	TArray<FQuartzUIValidationIssue> Issues;
};

/**
 * Deterministic production-output policy shared by every non-interactive path.
 * It validates already-built project output and never invokes Node, copies an
 * app, installs dependencies, or writes below the installed plugin.
 */
class QUARTZUIEDITOR_API FQuartzUIProjectAuditService final
{
public:
	static constexpr int32 SchemaVersion = 1;
	static constexpr int32 PolicyVersion = 1;
	/** JSON payload with a stageable suffix; Unreal UAT intentionally drops cooked .json files. */
	static constexpr const TCHAR* BuildMetadataFilename = TEXT("quartzui.build.manifest");

	static bool AuditProject(
		const UQuartzUIProjectSettings& Settings,
		const FQuartzUIProjectAuditOptions& Options,
		FQuartzUIProjectAuditResult& OutResult);

	/** Canonical per-app build metadata emitted by an external frontend build. */
	static bool BuildCanonicalAppMetadata(
		FName AppId,
		const FString& EntryPage,
		const FString& ContractFingerprint,
		const FString& LocalizationFingerprint,
		FString& OutJson);

	/** Fingerprint of the configured generated localization authority. */
	static bool ComputeLocalizationFingerprint(
		const UQuartzUIProjectSettings& Settings,
		const FString& ProjectDirectory,
		FString& OutFingerprint,
		TArray<FQuartzUIValidationIssue>& OutIssues);
};
```

Canonical HTML: https://betterbuilt.games/docs/quartz-ui/reference-quartzuiprojectaudit
