Quartz UI ↗
Browse docs
On this page
Private preview · 0.57.0-devView Markdown

QuartzUIProviderCodec: 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/QuartzUIProviderCodec.h) · integration recipe · practical guide

FQuartzUIProviderCodec

Internal type. Strict immutable JSON codec for one validated reflected provider descriptor.

Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUIProviderCodec recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: Use provider reflection publication and generated methods. Copies bounded values for current binding.

Avoid: Bypassing strict validation with direct reflection invocation. 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/QuartzUIProviderCodec.h#L7)

Complete header

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

#pragma once

#include "CoreMinimal.h"
#include "QuartzUIProviderSchema.h"

/** Strict immutable JSON codec for one validated reflected provider descriptor. */
class QUARTZUIRUNTIME_API FQuartzUIProviderCodec final
{
public:
	/** Copies named reflected values from an object or initialized parameter buffer. */
	static bool TrySerializeFields(
		const TArray<FQuartzUIProviderFieldDescriptor>& Fields,
		const void* Container,
		FString& OutPayloadJson,
		FString& OutError);

	/** Decodes an exact object into an initialized UFunction parameter buffer. */
	static bool TryDeserializeFields(
		const TArray<FQuartzUIProviderFieldDescriptor>& Fields,
		const FString& PayloadJson,
		void* Container,
		FString& OutError);

	/** Encodes a method return property as the object payload { "value": ... }. */
	static bool TrySerializeReturn(
		const FProperty& ReturnProperty,
		const void* Container,
		FString& OutPayloadJson,
		FString& OutError);
};