QuartzUIProviderSchema: 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/QuartzUIProviderSchema.h) · integration recipe · practical guide
FQuartzUIProviderFieldDescriptor
Internal type. Provider Field Descriptor: a declared type in provider field/event/method descriptors and reflected closure validation; use its exact fields/operations below.
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUIProviderSchema recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Validate a provider Blueprint and generate the registered app contract. Descriptors belong to generation/binding work.
Avoid: Authoring descriptor structs as gameplay state. 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/QuartzUIProviderSchema.h#L9)
FQuartzUIProviderEventDescriptor
Internal type. Provider Event Descriptor: a declared type in provider field/event/method descriptors and reflected closure validation; use its exact fields/operations below.
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUIProviderSchema recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Validate a provider Blueprint and generate the registered app contract. Descriptors belong to generation/binding work.
Avoid: Authoring descriptor structs as gameplay state. 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/QuartzUIProviderSchema.h#L15)
FQuartzUIProviderMethodDescriptor
Internal type. Provider Method Descriptor: a declared type in provider field/event/method descriptors and reflected closure validation; use its exact fields/operations below.
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUIProviderSchema recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Validate a provider Blueprint and generate the registered app contract. Descriptors belong to generation/binding work.
Avoid: Authoring descriptor structs as gameplay state. 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/QuartzUIProviderSchema.h#L24)
FQuartzUIProviderDescriptor
Internal type. One immutable reflection result shared by generation and runtime binding.
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUIProviderSchema recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Validate a provider Blueprint and generate the registered app contract. Descriptors belong to generation/binding work.
Avoid: Authoring descriptor structs as gameplay state. 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/QuartzUIProviderSchema.h#L34)
FQuartzUIProviderSchema
Internal type. Safe, bounded provider reflection policy. No UObject-valued member is accepted.
Prerequisites / integration: Configured app, explicit reflected value types, saved assets and freshly generated app contract. Use the QuartzUIProviderSchema recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Validate a provider Blueprint and generate the registered app contract. Descriptors belong to generation/binding work.
Avoid: Authoring descriptor structs as gameplay state. 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/QuartzUIProviderSchema.h#L47)
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 FProperty;
class UClass;
class UFunction;
struct QUARTZUIRUNTIME_API FQuartzUIProviderFieldDescriptor
{
const FProperty* Property = nullptr;
FString Name;
};
struct QUARTZUIRUNTIME_API FQuartzUIProviderEventDescriptor
{
const FProperty* Property = nullptr;
const UFunction* Signature = nullptr;
FString Name;
FString WireName;
TArray<FQuartzUIProviderFieldDescriptor> Parameters;
};
struct QUARTZUIRUNTIME_API FQuartzUIProviderMethodDescriptor
{
const UFunction* Function = nullptr;
const FProperty* ReturnProperty = nullptr;
FString Name;
FString WireName;
TArray<FQuartzUIProviderFieldDescriptor> Parameters;
};
/** One immutable reflection result shared by generation and runtime binding. */
struct QUARTZUIRUNTIME_API FQuartzUIProviderDescriptor
{
const UClass* ProviderClass = nullptr;
FString ProviderId;
FString TypeScriptName;
FString LifecycleWireName;
FString StateWireName;
TArray<FQuartzUIProviderFieldDescriptor> StateFields;
TArray<FQuartzUIProviderEventDescriptor> Events;
TArray<FQuartzUIProviderMethodDescriptor> Methods;
};
/** Safe, bounded provider reflection policy. No UObject-valued member is accepted. */
class QUARTZUIRUNTIME_API FQuartzUIProviderSchema final
{
public:
static constexpr int32 MaxProviders = 32;
static constexpr int32 MaxStateFields = 128;
static constexpr int32 MaxEvents = 64;
static constexpr int32 MaxMethods = 64;
static constexpr int32 MaxParameters = 32;
static bool TryBuild(
const UClass* ProviderClass,
FQuartzUIProviderDescriptor& OutDescriptor,
FString& OutError);
static FString GetMemberName(const FProperty& Property);
static FString GetTypeScriptName(const UClass& ProviderClass);
static FString GetWireSlug(const FString& ReflectedName);
};