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

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

## FQuartzUIRuntimeStats

**Public type.** Process-wide counters for every QuartzUI view in the current Unreal process.

**Prerequisites / integration:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the [QuartzUIDiagnostics recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuidiagnostics) in the host module `QuartzUIRuntime`.

**Minimal example / lifecycle:** GetRuntimeStats; compare baseline/current with EvaluateRuntimeBudget. Snapshot values; caller owns baseline and thresholds.

**Avoid:** Calling estimates complete GPU memory or historical counters frame timing. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIRuntime/Public/QuartzUIDiagnostics.h#L9`)

## FQuartzUIRuntimeBudget

**Public type.** Caller-owned limits for one runtime interval. Negative values disable that gate.

**Prerequisites / integration:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the [QuartzUIDiagnostics recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuidiagnostics) in the host module `QuartzUIRuntime`.

**Minimal example / lifecycle:** GetRuntimeStats; compare baseline/current with EvaluateRuntimeBudget. Snapshot values; caller owns baseline and thresholds.

**Avoid:** Calling estimates complete GPU memory or historical counters frame timing. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIRuntime/Public/QuartzUIDiagnostics.h#L128`)

## FQuartzUIRuntimeBudgetResult

**Public type.** Stable, machine-readable result of evaluating an explicit project budget.

**Prerequisites / integration:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the [QuartzUIDiagnostics recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuidiagnostics) in the host module `QuartzUIRuntime`.

**Minimal example / lifecycle:** GetRuntimeStats; compare baseline/current with EvaluateRuntimeBudget. Snapshot values; caller owns baseline and thresholds.

**Avoid:** Calling estimates complete GPU memory or historical counters frame timing. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIRuntime/Public/QuartzUIDiagnostics.h#L156`)

## FQuartzUIViewStats

**Public type.** Counters and the current physical raster estimate for one QuartzUI widget.

**Prerequisites / integration:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the [QuartzUIDiagnostics recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuidiagnostics) in the host module `QuartzUIRuntime`.

**Minimal example / lifecycle:** GetRuntimeStats; compare baseline/current with EvaluateRuntimeBudget. Snapshot values; caller owns baseline and thresholds.

**Avoid:** Calling estimates complete GPU memory or historical counters frame timing. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIRuntime/Public/QuartzUIDiagnostics.h#L169`)

## UQuartzUIDiagnosticsLibrary

**Public type.** Blueprint and C++ entry points for lightweight QuartzUI runtime diagnostics.

**Prerequisites / integration:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the [QuartzUIDiagnostics recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuidiagnostics) in the host module `QuartzUIRuntime`.

**Minimal example / lifecycle:** GetRuntimeStats; compare baseline/current with EvaluateRuntimeBudget. Snapshot values; caller owns baseline and thresholds.

**Avoid:** Calling estimates complete GPU memory or historical counters frame timing. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIRuntime/Public/QuartzUIDiagnostics.h#L286`)

## Complete header

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

```cpp
#pragma once

#include "Kismet/BlueprintFunctionLibrary.h"

#include "QuartzUIDiagnostics.generated.h"

/** Process-wide counters for every QuartzUI view in the current Unreal process. */
USTRUCT(BlueprintType)
struct QUARTZUIRUNTIME_API FQuartzUIRuntimeStats
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 LiveViews = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 TotalViewsCreated = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 CompletedLoads = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 FailedLoads = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 CompletedHandshakes = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 FailedHandshakes = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 LoadRecoveryAttempts = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 SuccessfulLoadRecoveries = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ExhaustedLoadRecoveries = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 SuspendedViews = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ViewSuspensions = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ViewResumptions = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 JavaScriptExecutions = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ResourceRequests = 0;

	/** Response-body bytes served by the packaged QuartzUI origin. HEAD response lengths are not counted. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ResourceBytesServed = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ProtocolRequestsAccepted = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ProtocolRequestsRejected = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ProtocolBytesReceived = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 BridgeRequestsSucceeded = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 BridgeRequestsFailed = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 PendingAsyncBridgeRequests = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 AsyncBridgeRequestsStarted = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 AsyncBridgeRequestsTimedOut = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 AsyncBridgeBackpressureRejections = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundStateSnapshotsPublished = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundStatePatchesDispatched = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundStateValuesDispatched = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundStateWritesCoalesced = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundEventsEmitted = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundStateBackpressureRejections = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundEventBackpressureRejections = 0;

	/** Number of validated scene-backdrop snapshots accepted in this process. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 SceneBackdropSnapshotUpdates = 0;

	/** Rounded-rectangle backdrop regions currently submitted to the scene compositor. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 ActiveSceneBackdropRegions = 0;

	/** Sum of live physical raster dimensions at four BGRA bytes per pixel; not total Chromium memory. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 EstimatedLiveSurfaceBytes = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	double TotalDocumentLoadMilliseconds = 0.0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	double TotalHandshakeMilliseconds = 0.0;
};

/** Caller-owned limits for one runtime interval. Negative values disable that gate. */
USTRUCT(BlueprintType)
struct QUARTZUIRUNTIME_API FQuartzUIRuntimeBudget
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int32 MaxLiveViews = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int64 MaxEstimatedLiveSurfaceBytes = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int32 MaxPendingAsyncBridgeRequests = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int32 MaxActiveSceneBackdropRegions = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int64 MaxFailedLoadDelta = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int64 MaxAsyncTimeoutDelta = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int64 MaxAsyncBackpressureDelta = -1;
};

/** Stable, machine-readable result of evaluating an explicit project budget. */
USTRUCT(BlueprintType)
struct QUARTZUIRUNTIME_API FQuartzUIRuntimeBudgetResult
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics|Budget")
	bool bWithinBudget = true;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics|Budget")
	TArray<FString> Violations;
};

/** Counters and the current physical raster estimate for one QuartzUI widget. */
USTRUCT(BlueprintType)
struct QUARTZUIRUNTIME_API FQuartzUIViewStats
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 PhysicalRasterWidth = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 PhysicalRasterHeight = 0;

	/** Width times height times four; this excludes Chromium process, compositor, and mip/driver memory. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 EstimatedSurfaceBytes = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 CompletedLoads = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 FailedLoads = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 CompletedHandshakes = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 FailedHandshakes = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 LoadRecoveryAttempts = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 SuccessfulLoadRecoveries = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 ExhaustedLoadRecoveries = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 JavaScriptExecutions = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 BridgeRequestsSucceeded = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 BridgeRequestsFailed = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 PendingAsyncBridgeRequests = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 AsyncBridgeRequestsStarted = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 AsyncBridgeRequestsTimedOut = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 AsyncBridgeBackpressureRejections = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundStateSnapshotsPublished = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundStatePatchesDispatched = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundStateValuesDispatched = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundStateWritesCoalesced = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundEventsEmitted = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 RetainedOutboundStates = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 PendingOutboundEvents = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundStateBackpressureRejections = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundEventBackpressureRejections = 0;

	/** Explicit capture-loss signals sent when native interactive ownership changes. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 InputCaptureCancellationSignals = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 BlockedTopLevelNavigations = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 BlockedSubframeNavigations = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 BlockedPopupNavigations = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	double LastDocumentLoadMilliseconds = 0.0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	double LastHandshakeMilliseconds = 0.0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 BrowserFrameRate = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	bool bRuntimeSuspended = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 RuntimeSuspensions = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 RuntimeResumptions = 0;
};

/** Blueprint and C++ entry points for lightweight QuartzUI runtime diagnostics. */
UCLASS()
class QUARTZUIRUNTIME_API UQuartzUIDiagnosticsLibrary final : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()

public:
	UFUNCTION(BlueprintPure, Category = "QuartzUI|Diagnostics")
	static FQuartzUIRuntimeStats GetRuntimeStats();

	/** Writes the same process-wide snapshot as QuartzUI.DumpStats to LogQuartzUI. */
	UFUNCTION(BlueprintCallable, Category = "QuartzUI|Diagnostics")
	static void DumpRuntimeStats();

	/** Returns the single uncompressed BGRA surface estimate, not total Chromium memory. */
	UFUNCTION(BlueprintPure, Category = "QuartzUI|Diagnostics")
	static int64 EstimateSurfaceBytes(int32 PhysicalWidth, int32 PhysicalHeight);

	/** Evaluates explicit instantaneous limits and failure deltas without hidden hardware assumptions. */
	UFUNCTION(BlueprintPure, Category = "QuartzUI|Diagnostics")
	static FQuartzUIRuntimeBudgetResult EvaluateRuntimeBudget(
		const FQuartzUIRuntimeStats& Baseline,
		const FQuartzUIRuntimeStats& Current,
		const FQuartzUIRuntimeBudget& Budget);
};
```

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