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.
Pinned source (source: Source/QuartzUIRuntime/Public/QuartzUIStructPayload.h) · integration recipe · practical guide
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 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.
#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);
};