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

# QuartzUIContractSchema: 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/QuartzUIRuntime/Public/QuartzUIContractSchema.h`) · [integration recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuicontractschema) · [practical guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts)

## FQuartzUIContractSchema

**Internal type.** Runtime-owned canonical contract emitter and fingerprint source. Editor generation and each browser bridge use this exact implementation so project DTOs cannot produce a generated/native hash split.

**Prerequisites / integration:** Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the [QuartzUIContractSchema recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuicontractschema) in the host module `QuartzUIRuntime`.

**Minimal example / lifecycle:** Invoke QuartzUIContract rather than hand-building schemas. Stateless schema work over explicit reflected declarations.

**Avoid:** Assuming arbitrary UObject scanning is allowed. This named helper is runtime-owned; inspect/use it through the owner above rather than constructing it in gameplay.

Exact source line (source: `Source/QuartzUIRuntime/Public/QuartzUIContractSchema.h#L13`)

## 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"

class FProperty;
struct FQuartzUIContractManifest;

/**
 * Runtime-owned canonical contract emitter and fingerprint source.
 * Editor generation and each browser bridge use this exact implementation so
 * project DTOs cannot produce a generated/native hash split.
 */
class QUARTZUIRUNTIME_API FQuartzUIContractSchema final
{
public:
	static constexpr int32 MaxContractMessages = 256;
	static constexpr int32 MaxContractTypes = 256;
	static constexpr int32 MaxGeneratedContractBytes = 8 * 1024 * 1024;

	/** Produces the canonical body hashed by both native runtime and generated clients. */
	static bool TryGenerateCanonical(
		const FQuartzUIContractManifest& Manifest,
		FString& OutCanonical,
		FString& OutContractHash,
		FString& OutError);

	/** Produces the complete checked-in/generated TypeScript module. */
	static bool TryGenerateTypeScript(
		const FQuartzUIContractManifest& Manifest,
		FString& OutTypeScript,
		FString& OutError);

	/** Shared reflected-property type check used by provider descriptor validation. */
	static bool TryResolvePropertyType(
		const FProperty& Property,
		FString& OutTypeScriptType,
		FString& OutError);
};
```

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