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

# QuartzUIStructPayload: 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/QuartzUIStructPayload.h`) · [integration recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuistructpayload) · [practical guide](https://betterbuilt.games/docs/quartz-ui/gameplay)

## FQuartzUIStructPayload

**Advanced type.** Bounded data-only USTRUCT serializer shared by the simple Blueprint and C++ API. It walks only the explicitly supplied struct value and rejects object, interface, delegate, set, unsupported map-key, non-finite, and oversized data.

**Prerequisites / integration:** Configured exact-player shell, QuartzUIRuntime dependency, one frontend client. Use the [QuartzUIStructPayload recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuistructpayload) in the host module `QuartzUIRuntime`.

**Minimal example / lifecycle:** Use FQuartzUI::PublishStruct(Player, Name, Value); inspect false. Copies the supplied value; no live object ownership.

**Avoid:** Passing UObject references, non-finite numbers or unsupported containers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIRuntime/Public/QuartzUIStructPayload.h#L12`)

## 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 UScriptStruct;

/**
 * Bounded data-only USTRUCT serializer shared by the simple Blueprint and C++ API.
 * It walks only the explicitly supplied struct value and rejects object,
 * interface, delegate, set, unsupported map-key, non-finite, and oversized data.
 */
class QUARTZUIRUNTIME_API FQuartzUIStructPayload final
{
public:
	static constexpr int32 MaxDepth = 12;
	static constexpr int32 MaxContainerEntries = 256;

	static bool TrySerialize(
		const UScriptStruct* StructType,
		const void* StructValue,
		FString& OutPayloadJson,
		FString& OutError);
};
```

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