---
title: "Complete shipped-surface inventory"
description: "Quartz UI 0.57.0-dev: Complete shipped-surface inventory. Source-reviewed guidance, usage and limitations."
status: approved
visibility: public
sourceRevision: fe5b709ec900e282b50e58b819a25041945005f9
reviewedAt: 2026-09-24
---

# Complete shipped-surface inventory

> **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).

Source revision: `fe5b709ec900e282b50e58b819a25041945005f9`. Machine: DESTROYER. Every public header has a reviewed integration recipe below; every defined type/delegate is separately indexed in [reference/README.md](https://betterbuilt.games/docs/quartz-ui/reference). The complete tracked-file closure is in [source provenance](https://betterbuilt.games/docs/quartz-ui/evidence#source-provenance).

**Public** means game-facing; **Advanced** means a native extension seam; **Internal** is implementation infrastructure even if its header is public; **Editor** never belongs in packaged runtime game dependencies; **Experimental** is shipped opt-in prototype code. Examples are minimal integration recipes, not claims of executed Unreal tests.

## QuartzUIContractCommandlet

**Editor · `QuartzUIEditor`** — Headless generation/check entry point.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** UnrealEditor-Cmd Host.uproject -run=QuartzUIContract -App=gameui -Output=path.ts.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIContractCommandlet.h` from `QuartzUIEditor` for direct native use.

**Lifecycle:** One commandlet invocation; needs compiled host.

**Common mistake:** Assuming generation also rebuilds frontend or recooks assets.

Pinned header (source: `Source/QuartzUIEditor/Public/QuartzUIContractCommandlet.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuicontractcommandlet) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIEditorDevServer

**Editor · `QuartzUIEditor`** — Validated project-local Vite process and redirect lifetime.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** Set project frontend root then Start/Stop Vite Dev Server.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIEditorDevServer.h` from `QuartzUIEditor` for direct native use.

**Lifecycle:** Editor owns and stops only its launched process tree.

**Common mistake:** Installing dependencies implicitly or silently changing ports.

Pinned header (source: `Source/QuartzUIEditor/Public/QuartzUIEditorDevServer.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuieditordevserver) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIEditorDevTools

**Editor · `QuartzUIEditor`** — Live browser target discovery and inspector launch.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** Tools > Quartz UI > Open DevTools after PIE creates a page.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIEditorDevTools.h` from `QuartzUIEditor` for direct native use.

**Lifecycle:** Async discovery cancels on module teardown.

**Common mistake:** Counting a blank inspector or port log as a passed connection.

Pinned header (source: `Source/QuartzUIEditor/Public/QuartzUIEditorDevTools.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuieditordevtools) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIEditorSettings

**Editor · `QuartzUIEditor`** — Machine-local DevTools, Node, Vite root/port and generation preferences.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** Configure Editor Preferences then restart for DevTools changes.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIEditorSettings.h` from `QuartzUIEditor` for direct native use.

**Lifecycle:** Editor user settings only.

**Common mistake:** Assuming legacy default frontend root matches the host.

Pinned header (source: `Source/QuartzUIEditor/Public/QuartzUIEditorSettings.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuieditorsettings) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIMigrateCommandlet

**Editor · `QuartzUIEditor`** — Headless migration/dry-run/rollback entry point.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** UnrealEditor-Cmd Host.uproject -run=QuartzUIMigrate -LegacyFixture -DryRun.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIMigrateCommandlet.h` from `QuartzUIEditor` for direct native use.

**Lifecycle:** Commandlet delegates to shared migration service.

**Common mistake:** Passing source without canonical build metadata.

Pinned header (source: `Source/QuartzUIEditor/Public/QuartzUIMigrateCommandlet.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuimigratecommandlet) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIProjectAudit

**Editor · `QuartzUIEditor`** — Canonical build evidence, localization hash and per-file UFS admission.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** QuartzUIValidate -Mode=Shipping; inspect audit result.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIProjectAudit.h` from `QuartzUIEditor` for direct native use.

**Lifecycle:** Current output is validated without Node/build side effects.

**Common mistake:** Confusing audit manifest with per-app build manifest.

Pinned header (source: `Source/QuartzUIEditor/Public/QuartzUIProjectAudit.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiprojectaudit) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIProjectMigration

**Editor · `QuartzUIEditor`** — No-overwrite project app migration with recoverable records.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** QuartzUIMigrate -Source=prebuilt -DryRun before real migration.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIProjectMigration.h` from `QuartzUIEditor` for direct native use.

**Lifecycle:** Records own changes; rollback retains created output.

**Common mistake:** Using deletion as conflict resolution or assuming rollback deletes assets.

Pinned header (source: `Source/QuartzUIEditor/Public/QuartzUIProjectMigration.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiprojectmigration) · upstream guide (source: `Documentation/Development.md`)

## QuartzUITypeScriptGenerator

**Editor · `QuartzUIEditor`** — Deterministic TypeScript schema emission and hashing.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** Use QuartzUIContract with selected app and -Check.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUITypeScriptGenerator.h` from `QuartzUIEditor` for direct native use.

**Lifecycle:** Generation reads explicit reflected closure; frontend rebuild is separate.

**Common mistake:** Hand-editing generated declarations or using core identity for another app.

Pinned header (source: `Source/QuartzUIEditor/Public/QuartzUITypeScriptGenerator.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuitypescriptgenerator) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIValidateCommandlet

**Editor · `QuartzUIEditor`** — Headless app/settings/staging audit entry point.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** UnrealEditor-Cmd Host.uproject -run=QuartzUIValidate -Mode=Shipping.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIValidateCommandlet.h` from `QuartzUIEditor` for direct native use.

**Lifecycle:** One commandlet invocation; evidence written to selected paths.

**Common mistake:** Claiming a green audit proves GPU or gameplay behavior.

Pinned header (source: `Source/QuartzUIEditor/Public/QuartzUIValidateCommandlet.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuivalidatecommandlet) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIGASBindingComponent

**Public · `QuartzUIGAS`** — Optional GAS activation/retry component for exact player.

**Prerequisites:** Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities.

**Minimal use:** Enable GameplayAbilities; add component; leave action policy Disabled.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/integrations); include `QuartzUIGASBindingComponent.h` from `QuartzUIGAS` for direct native use.

**Lifecycle:** Component owns scope/retries/source subscriptions.

**Common mistake:** Enabling AllDiscovered without intended gameplay authority.

Pinned header (source: `Source/QuartzUIGAS/Public/QuartzUIGASBindingComponent.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuigasbindingcomponent) · upstream guide (source: `Documentation/GAS.md`)

## QuartzUIGASBindingScope

**Advanced · `QuartzUIGAS`** — GAS discovery lifetime, internal reserved endpoints and factory.

**Prerequisites:** Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities.

**Minimal use:** Create GAS Binding Scope; attach exact shell; detach on feature removal.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/integrations); include `QuartzUIGASBindingScope.h` from `QuartzUIGAS` for direct native use.

**Lifecycle:** Scope owns delegates, observed records, action endpoints and generations.

**Common mistake:** Constructing reserved endpoint classes independently.

Pinned header (source: `Source/QuartzUIGAS/Public/QuartzUIGASBindingScope.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuigasbindingscope) · upstream guide (source: `Documentation/GAS.md`)

## QuartzUIGASConfig

**Public · `QuartzUIGAS`** — Optional aliases, mappings, discovery mode and action permissions.

**Prerequisites:** Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities.

**Minimal use:** Create config only for custom aliases/permissions; validate mappings.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/integrations); include `QuartzUIGASConfig.h` from `QuartzUIGAS` for direct native use.

**Lifecycle:** Durable primary data asset; scope consumes a validated configuration.

**Common mistake:** Expecting mappings to load an ASC or allowing duplicate/invalid IDs.

Pinned header (source: `Source/QuartzUIGAS/Public/QuartzUIGASConfig.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuigasconfig) · upstream guide (source: `Documentation/GAS.md`)

## QuartzUIGASResolver

**Public · `QuartzUIGAS`** — Project override for exact-player AbilitySystemComponent lookup.

**Prerequisites:** Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities.

**Minimal use:** Subclass resolver for unusual ownership; assign to binding configuration.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/integrations); include `QuartzUIGASResolver.h` from `QuartzUIGAS` for direct native use.

**Lifecycle:** Resolved ASC must still belong to exact local player.

**Common mistake:** Returning a convenient foreign ASC or bypassing ownership guard.

Pinned header (source: `Source/QuartzUIGAS/Public/QuartzUIGASResolver.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuigasresolver) · upstream guide (source: `Documentation/GAS.md`)

## QuartzUIAccessibility

**Internal · `QuartzUIRuntime`** — Announcement payload normalization and native accessibility policy.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** client.request('quartzui.accessibility.announce', {message:'Saved'}).

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIAccessibility.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Per-view rate/lifecycle gate; native handler stays private.

**Common mistake:** Claiming full OS DOM screen-reader traversal.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIAccessibility.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiaccessibility) · upstream guide (source: `Documentation/API.md`)

## QuartzUIActions

**Public · `QuartzUIRuntime`** — Named action callbacks, contextual catalog and validation.

**Prerequisites:** Configured exact-player shell, QuartzUIRuntime dependency, one frontend client.

**Minimal use:** Register menu.continue, then SetActions with a localized FQuartzUIBoundAction.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/gameplay); include `QuartzUIActions.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Handler registration belongs to gameplay owner; catalog is copied state.

**Common mistake:** Treating a displayed catalog entry as handler authorization.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIActions.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiactions) · upstream guide (source: `Documentation/SimpleGameUI.md`)

## QuartzUIApp

**Public · `QuartzUIRuntime`** — App identity, project ownership, entry page and per-app overrides.

**Prerequisites:** Compatible C++ Unreal 5.8 Win64 host, installed plugin and host-owned app files.

**Minimal use:** Create DA_GameUI; choose Project, gameui, Apps/gameui, index.html.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/first-ui); include `QuartzUIApp.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Asset persists in the host; runtime copies a normalized definition.

**Common mistake:** Leaving the fixture defaults or expecting overrides without switches.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIApp.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiapp) · upstream guide (source: `Documentation/GettingStarted.md`)

## QuartzUIBindingComponentBase

**Advanced · `QuartzUIRuntime`** — Shared activation/retry transaction for provider and GAS components.

**Prerequisites:** Configured app, explicit reflected value types, saved assets and freshly generated app contract.

**Minimal use:** Derive through provider/GAS component for ordinary integrations.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts); include `QuartzUIBindingComponentBase.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Component owns player/source retry subscriptions.

**Common mistake:** Starting unbounded retries or resolving the first world player.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIBindingComponentBase.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuibindingcomponentbase) · upstream guide (source: `Documentation/ProjectContracts.md`)

## QuartzUIBindingScope

**Public · `QuartzUIRuntime`** — Atomic endpoints, subscriptions, initial baseline and cancellation generations.

**Prerequisites:** Configured app, explicit reflected value types, saved assets and freshly generated app contract.

**Minimal use:** AttachToShell(Player); create token; check IsCurrent; Detach.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts); include `QuartzUIBindingScope.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Tokens invalidate before endpoint/source teardown.

**Common mistake:** Publishing events before initial baseline or using stale async work.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIBindingScope.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuibindingscope) · upstream guide (source: `Documentation/ProjectContracts.md`)

## QuartzUIBlueprintLibrary

**Public · `QuartzUIRuntime`** — Blueprint nodes and exact-player FQuartzUI C++ facade.

**Prerequisites:** Configured exact-player shell, QuartzUIRuntime dependency, one frontend client.

**Minimal use:** FQuartzUI::SetIntegerValue(Player, TEXT("hud.ammo"), 30).

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/gameplay); include `QuartzUIBlueprintLibrary.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Uses subsystem-owned shell; unregister actions at owner teardown.

**Common mistake:** Omitting the player in split screen or ignoring false/null.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIBlueprintLibrary.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiblueprintlibrary) · upstream guide (source: `Documentation/SimpleGameUI.md`)

## QuartzUIBridge

**Advanced · `QuartzUIRuntime`** — Per-document native gateway, endpoint results and async request tokens.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** Game code uses typed endpoints; native adapters register on the view/widget.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIBridge.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** One bridge per browser; session changes cancel requests.

**Common mistake:** Exposing arbitrary UObject methods or bypassing origin policy.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIBridge.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuibridge) · upstream guide (source: `Documentation/API.md`)

## QuartzUIBrowserSession

**Advanced · `QuartzUIRuntime`** — Backend-neutral browser/render-surface interfaces and capability descriptors.

**Prerequisites:** Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials.

**Minimal use:** Use WorldSurface presenter; inspect descriptor Transfer field.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/rendering); include `QuartzUIBrowserSession.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Session owns bridge and external texture lifetime; close nonblocking.

**Common mistake:** Widening native texture casts to unsupported platform/RHI.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIBrowserSession.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuibrowsersession) · upstream guide (source: `Documentation/Rendering.md`)

## QuartzUIContractSchema

**Internal · `QuartzUIRuntime`** — Canonical schema construction shared by generator and runtime.

**Prerequisites:** Configured app, explicit reflected value types, saved assets and freshly generated app contract.

**Minimal use:** Invoke QuartzUIContract rather than hand-building schemas.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts); include `QuartzUIContractSchema.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Stateless schema work over explicit reflected declarations.

**Common mistake:** Assuming arbitrary UObject scanning is allowed.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIContractSchema.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuicontractschema) · upstream guide (source: `Documentation/ProjectContracts.md`)

## QuartzUICoreContract

**Advanced · `QuartzUIRuntime`** — Immutable middleware wire DTOs and message catalog.

**Prerequisites:** Configured app, explicit reflected value types, saved assets and freshly generated app contract.

**Minimal use:** Generate -App=core; use wire-catalog.md for subscriptions/requests.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts); include `QuartzUICoreContract.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Core identity is process-stable; messages are value copies.

**Common mistake:** Copying core fingerprint into an app with providers.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUICoreContract.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuicorecontract) · upstream guide (source: `Documentation/ProjectContracts.md`)

## QuartzUIDevelopmentPolicy

**Internal · `QuartzUIRuntime`** — Bounded development endpoint validation and app redirect registry.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** Use Editor-owned Vite Start/Stop workflow.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIDevelopmentPolicy.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Registry entry lives only while approved editor process is active.

**Common mistake:** Shipping loopback overrides or accepting arbitrary remote URLs.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIDevelopmentPolicy.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuidevelopmentpolicy) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIDiagnostics

**Public · `QuartzUIRuntime`** — Process/view counters, byte estimates and caller-defined budget checks.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** GetRuntimeStats; compare baseline/current with EvaluateRuntimeBudget.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIDiagnostics.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Snapshot values; caller owns baseline and thresholds.

**Common mistake:** Calling estimates complete GPU memory or historical counters frame timing.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIDiagnostics.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuidiagnostics) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIGASContract

**Public · `QuartzUIRuntime`** — Core immutable GAS state, event and request DTOs.

**Prerequisites:** Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities.

**Minimal use:** Subscribe to quartzui.gas.attributes after binding GAS.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/integrations); include `QuartzUIGASContract.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Snapshots retained; events transient; actual producer is optional GAS module.

**Common mistake:** Assuming presence of a DTO starts the integration.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIGASContract.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuigascontract) · upstream guide (source: `Documentation/GAS.md`)

## QuartzUIHtmlProjection

**Experimental · `QuartzUIRuntime`** — Retained HTML atlas compositor, anchors and geometry validation.

**Prerequisites:** Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials.

**Minimal use:** Create once; Update copied anchors; PublishContent only on artwork change.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/rendering); include `QuartzUIHtmlProjection.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Native owner destroys compositor before player/view lifetime ends.

**Common mistake:** Reusing cells without paint consistency or assuming world occlusion.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIHtmlProjection.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuihtmlprojection) · upstream guide (source: `Documentation/Rendering.md`)

## QuartzUIHUD

**Public · `QuartzUIRuntime`** — GameMode HUD convenience observer/controller for canonical shell.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** Set HUDClass to AQuartzUIHUD; use Ready/Failed/Action/Stopped events.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIHUD.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** HUD rebuild rebinds; explicit Stop closes shell.

**Common mistake:** Assuming EndPlay must destroy the shell.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIHUD.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuihud) · upstream guide (source: `Documentation/API.md`)

## QuartzUIInput

**Public · `QuartzUIRuntime`** — Input mode/config, navigation/action phases and resolved glyph assets.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** Use FQuartzUIInputConfig with ShowScreen; publish an input glyph profile.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIInput.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Config/event copies; project owns profile assets.

**Common mistake:** Browser vendor detection or using display glyphs as input authority.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIInput.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiinput) · upstream guide (source: `Documentation/API.md`)

## QuartzUIInputAdapter

**Public · `QuartzUIRuntime`** — Open native input provider for modality, glyphs and semantic actions.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** Subclass; RegisterInputAdapter; PublishGlyphProfile; unregister.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIInputAdapter.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Activation/context-change/deactivation own device subscriptions.

**Common mistake:** Forgetting travel/reassignment cleanup or exceeding eight adapters.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIInputAdapter.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiinputadapter) · upstream guide (source: `Documentation/API.md`)

## QuartzUILayerHost

**Public · `QuartzUIRuntime`** — UMG layer presenter, exact-player routing, preferences and transitions.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** AttachToLayerStack; RegisterInputAdapter; SetPresentationPreferences.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUILayerHost.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Detach deactivates adapters and presentation state.

**Common mistake:** Building a second conflicting input/visibility controller.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUILayerHost.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuilayerhost) · upstream guide (source: `Documentation/API.md`)

## QuartzUILayerStack

**Public · `QuartzUIRuntime`** — Per-player ordered layer policy, retained views and back dismissal.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** RegisterLayer with FQuartzUILayerDefinition; PushView; PopView.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUILayerStack.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Close may defer for exit animation; covered views remain retained.

**Common mistake:** Mutating another player's stack or forgetting close after nonclosing pop.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUILayerStack.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuilayerstack) · upstream guide (source: `Documentation/API.md`)

## QuartzUILoadRecovery

**Advanced · `QuartzUIRuntime`** — Failed/retry/exhausted state and bounded retry policy.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** Use Retry UI after checking failure; default attempts 3, maximum 8.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUILoadRecovery.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** New navigation resets sequence; no reload loop.

**Common mistake:** Retrying contract/configuration errors indefinitely.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUILoadRecovery.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiloadrecovery) · upstream guide (source: `Documentation/API.md`)

## QuartzUILocalPlayerResolver

**Internal · `QuartzUIRuntime`** — Bounded exact-player ownership resolution shared by integrations.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** Supply a local controller to facade/component.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUILocalPlayerResolver.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Resolves within current game instance and supported owner chain.

**Common mistake:** Falling back to a first player or scanning the world.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUILocalPlayerResolver.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuilocalplayerresolver) · upstream guide (source: `Documentation/API.md`)

## QuartzUIMotionComponent

**Public · `QuartzUIRuntime`** — Camera heading, tilt, inertia and shake snapshot component.

**Prerequisites:** Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities.

**Minimal use:** Add to local PlayerController; AddMotionImpulse; subscribe quartzui.motion.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/integrations); include `QuartzUIMotionComponent.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Tick belongs to component; EndPlay clears state.

**Common mistake:** Expecting component to start shell or automatically implement reduced-motion UI.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIMotionComponent.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuimotioncomponent) · upstream guide (source: `Documentation/GAS.md`)

## QuartzUINavigationPolicy

**Internal · `QuartzUIRuntime`** — Exact-origin main-frame/subframe navigation decisions.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** Use registered app URLs; inspect OnNavigationBlocked.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUINavigationPolicy.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Pure decisions reused by active browser session.

**Common mistake:** Allowing popups or foreign origins as a workaround.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUINavigationPolicy.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuinavigationpolicy) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIPagePolicy

**Internal · `QuartzUIRuntime`** — Browser bootstrap policy for page selection and native integration observers.

**Prerequisites:** Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials.

**Minimal use:** Use widget flags and data-quartzui-backdrop HTML marker.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/rendering); include `QuartzUIPagePolicy.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Applied to each completed document.

**Common mistake:** Patching generated bootstrap strings as game UI code.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIPagePolicy.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuipagepolicy) · upstream guide (source: `Documentation/Rendering.md`)

## QuartzUIPlatform

**Public · `QuartzUIRuntime`** — Unreal-owned platform ID/traits and validation.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** LayerHost->SetPlatformContext(Context).

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIPlatform.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Copied coalesced exact-player state.

**Common mistake:** Using browser OS probing to select authoritative platform policy.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIPlatform.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiplatform) · upstream guide (source: `Documentation/API.md`)

## QuartzUIPresentation

**Public · `QuartzUIRuntime`** — Culture, direction, text scale, accessibility preferences and normalization.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** SetPresentationPreferences; subscribe quartzui.presentation and apply in frontend.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIPresentation.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Native culture refresh; frontend subscription cleanup on unmount.

**Common mistake:** Assuming standalone transport applies DOM attributes itself.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIPresentation.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuipresentation) · upstream guide (source: `Documentation/API.md`)

## QuartzUIPresentationTarget

**Advanced · `QuartzUIRuntime`** — Interface that lets a logical view use UMG or direct presentation.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** Use existing widget/world-surface presenters; implement only for a new backend.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIPresentationTarget.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Single presenter owns attach/detach for one logical view.

**Common mistake:** Stealing an already-presented view or storing stale bridge pointers.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIPresentationTarget.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuipresentationtarget) · upstream guide (source: `Documentation/API.md`)

## QuartzUIProjectContract

**Public · `QuartzUIRuntime`** — Explicit per-app state/event/action/request fragments and resolver.

**Prerequisites:** Configured app, explicit reflected value types, saved assets and freshly generated app contract.

**Minimal use:** Add fragment to RegisteredProjectContracts; regenerate app TypeScript.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts); include `QuartzUIProjectContract.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** App asset closure determines stable identity; save/recook after changes.

**Common mistake:** Mutating core catalog or registering same name across kinds.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIProjectContract.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiprojectcontract) · upstream guide (source: `Documentation/ProjectContracts.md`)

## QuartzUIProjectCookStaging

**Internal · `QuartzUIRuntime`** — Audited per-asset UFS emission and hash verification.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** Register apps; audit; cook through the plugin hook.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIProjectCookStaging.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Cook-owned admitted file list; no loose fallback.

**Common mistake:** Manually staging unreviewed app trees as NonUFS.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIProjectCookStaging.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiprojectcookstaging) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIProjectSettings

**Public · `QuartzUIRuntime`** — Shareable shell, input, rendering, localization, security and cook configuration.

**Prerequisites:** Compatible C++ Unreal 5.8 Win64 host, installed plugin and host-owned app files.

**Minimal use:** Select DefaultApp and Manual startup, then Start UI Shell.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/first-ui); include `QuartzUIProjectSettings.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Config=Game; saved in project defaults.

**Common mistake:** Putting Node paths or secrets into shared runtime policy.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIProjectSettings.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiprojectsettings) · upstream guide (source: `Documentation/GettingStarted.md`)

## QuartzUIProjectValidation

**Advanced · `QuartzUIRuntime`** — Settings validation, target strictness and actionable issue records.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** Run QuartzUIValidate; inspect Code/Field/Correction per issue.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIProjectValidation.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Pure validation over current settings/assets.

**Common mistake:** Ignoring individual errors because files exist.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIProjectValidation.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiprojectvalidation) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIProtocol

**Internal · `QuartzUIRuntime`** — Version-one envelopes, strict parsing, serialization and stable errors.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** Use QuartzUIClient.request rather than constructing raw envelopes.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIProtocol.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Bounded per-message values; request IDs/session correlate responses.

**Common mistake:** Unknown fields, oversized payloads, non-object payloads.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIProtocol.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiprotocol) · upstream guide (source: `Documentation/API.md`)

## QuartzUIProvider

**Public · `QuartzUIRuntime`** — Reflected gameplay facade, dirty state, delegates and callable operations.

**Prerequisites:** Configured app, explicit reflected value types, saved assets and freshly generated app contract.

**Minimal use:** Subclass; set ProviderId; register exact class; call MarkProviderDirty.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts); include `QuartzUIProvider.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Bound/Unbound owns subscriptions; view owns provider attachment.

**Common mistake:** Exposing unsupported reflected helpers or overriding generic scope transaction hooks.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIProvider.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiprovider) · upstream guide (source: `Documentation/ProjectContracts.md`)

## QuartzUIProviderBindingComponent

**Public · `QuartzUIRuntime`** — Actor-owned provider activation with exact-player resolution and retry.

**Prerequisites:** Configured app, explicit reflected value types, saved assets and freshly generated app contract.

**Minimal use:** Add component to local controller; assign ProviderSet; inspect binding state.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts); include `QuartzUIProviderBindingComponent.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Component deactivation/destruction detaches providers, not shell.

**Common mistake:** Using an unrelated actor without a supported owner chain.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIProviderBindingComponent.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiproviderbindingcomponent) · upstream guide (source: `Documentation/ProjectContracts.md`)

## QuartzUIProviderCodec

**Internal · `QuartzUIRuntime`** — Strict provider snapshot and method/event value encoding.

**Prerequisites:** Configured app, explicit reflected value types, saved assets and freshly generated app contract.

**Minimal use:** Use provider reflection publication and generated methods.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts); include `QuartzUIProviderCodec.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Copies bounded values for current binding.

**Common mistake:** Bypassing strict validation with direct reflection invocation.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIProviderCodec.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiprovidercodec) · upstream guide (source: `Documentation/ProjectContracts.md`)

## QuartzUIProviderSchema

**Internal · `QuartzUIRuntime`** — Provider field/event/method descriptors and reflected closure validation.

**Prerequisites:** Configured app, explicit reflected value types, saved assets and freshly generated app contract.

**Minimal use:** Validate a provider Blueprint and generate the registered app contract.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts); include `QuartzUIProviderSchema.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Descriptors belong to generation/binding work.

**Common mistake:** Authoring descriptor structs as gameplay state.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIProviderSchema.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiproviderschema) · upstream guide (source: `Documentation/ProjectContracts.md`)

## QuartzUIProviderSet

**Public · `QuartzUIRuntime`** — Reusable exact provider closure, activation policy and release handle.

**Prerequisites:** Configured app, explicit reflected value types, saved assets and freshly generated app contract.

**Minimal use:** Register a set on the app; select OnShellReady or bind/release manually.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts); include `QuartzUIProviderSet.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Asset is durable; each handle belongs to one binding lifetime.

**Common mistake:** Confusing registration with activation or releasing automatic handles manually.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIProviderSet.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiproviderset) · upstream guide (source: `Documentation/ProjectContracts.md`)

## QuartzUIReadiness

**Internal · `QuartzUIRuntime`** — Document-plus-handshake readiness gate and timeout tracking.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** Wait for IsUIReady/OnReady after client.ping.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIReadiness.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Resets with navigation and session lifecycle.

**Common mistake:** Treating a loaded error document as aggregate Ready.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIReadiness.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuireadiness) · upstream guide (source: `Documentation/API.md`)

## QuartzUIResourceLoader

**Internal · `QuartzUIRuntime`** — Contained virtual-file loading for packaged app bytes.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** Build under project Content/QuartzUI/Apps; let resource service read it.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIResourceLoader.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Request-scoped bounded bytes from UFS.

**Common mistake:** Adding loose disk fallbacks or arbitrary file access.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIResourceLoader.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiresourceloader) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIResourceScheme

**Advanced · `QuartzUIRuntime`** — App-origin registry, request/response policy and bounded body stream.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** FQuartzUIResourceScheme::MakeUrl("gameui", "index.html").

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIResourceScheme.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Process-immutable roots; Cancel releases response body.

**Common mistake:** Assuming tested range seam means stock CEF forwards Range headers.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIResourceScheme.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiresourcescheme) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIRuntime

**Internal · `QuartzUIRuntime`** — Runtime logging/stat declaration header.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** Use LogQuartzUI and stat QuartzUI through documented diagnostics.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUIRuntime.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Runtime module lifecycle owns registrations.

**Common mistake:** Treating module bootstrapping as a gameplay service object.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIRuntime.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiruntime) · upstream guide (source: `Documentation/Development.md`)

## QuartzUISceneBackdrop

**Advanced · `QuartzUIRuntime`** — Bounded regions, snapshots, blur plans and native RDG compositor.

**Prerequisites:** Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials.

**Minimal use:** Mark HTML data-quartzui-backdrop=frost; set exact player.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/rendering); include `QuartzUISceneBackdrop.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Per-view snapshots feed render-owned textures; teardown removes regions.

**Common mistake:** Expecting arbitrary CSS filters or cross-browser blur.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUISceneBackdrop.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiscenebackdrop) · upstream guide (source: `Documentation/Rendering.md`)

## QuartzUISha256

**Internal · `QuartzUIRuntime`** — Dependency-free SHA-256 for contracts and cook identities.

**Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Minimal use:** Use generated identity/audit; HashUtf8 only for advanced tooling.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); include `QuartzUISha256.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Stateless byte hashing.

**Common mistake:** Hashing different canonical bytes or line endings.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUISha256.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuisha256) · upstream guide (source: `Documentation/Development.md`)

## QuartzUIShellComponent

**Public · `QuartzUIRuntime`** — Shell convenience component for an existing HUD/controller.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** Add QuartzUI Shell; call Start UI Shell when using Manual startup.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIShellComponent.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Observes subsystem shell; host destruction detaches observation.

**Common mistake:** Creating additional browser widgets for the same canonical shell.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIShellComponent.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuishellcomponent) · upstream guide (source: `Documentation/API.md`)

## QuartzUISound

**Public · `QuartzUIRuntime`** — Sound cues, mappings, set stack, handlers and local-player subsystem.

**Prerequisites:** Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities.

**Minimal use:** Map ui.confirm then request quartzui.sound.play.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/integrations); include `QuartzUISound.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Balance set push/remove; subsystem shuts handlers/loads down.

**Common mistake:** Double playback through both listener and handler.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUISound.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuisound) · upstream guide (source: `Documentation/GAS.md`)

## QuartzUISpatialProjection

**Public · `QuartzUIRuntime`** — Exact-player batch world-to-viewport projection and Blueprint helper.

**Prerequisites:** Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials.

**Minimal use:** ProjectWorldLocations; pair output indices with stable IDs.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/rendering); include `QuartzUISpatialProjection.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Copied coordinates; host updates after camera pose.

**Common mistake:** Double DPI conversion or one browser per marker.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUISpatialProjection.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuispatialprojection) · upstream guide (source: `Documentation/Rendering.md`)

## QuartzUIStructCodec

**Internal · `QuartzUIRuntime`** — Exact declared DTO encode/decode for typed contracts.

**Prerequisites:** Configured app, explicit reflected value types, saved assets and freshly generated app contract.

**Minimal use:** Use Bind Typed UI Endpoint and Instanced Struct payloads.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts); include `QuartzUIStructCodec.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Temporary copied DTO values; no object reference transport.

**Common mistake:** Confusing simple payload serializer with declared contract decoding.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIStructCodec.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuistructcodec) · upstream guide (source: `Documentation/ProjectContracts.md`)

## QuartzUIStructPayload

**Advanced · `QuartzUIRuntime`** — Bounded data-only USTRUCT serialization for the simple facade.

**Prerequisites:** Configured exact-player shell, QuartzUIRuntime dependency, one frontend client.

**Minimal use:** Use FQuartzUI::PublishStruct(Player, Name, Value); inspect false.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/gameplay); include `QuartzUIStructPayload.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Copies the supplied value; no live object ownership.

**Common mistake:** Passing UObject references, non-finite numbers or unsupported containers.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIStructPayload.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuistructpayload) · upstream guide (source: `Documentation/SimpleGameUI.md`)

## QuartzUISubsystem

**Public · `QuartzUIRuntime`** — GameInstance owner of exact-player shells, views, layers and providers.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** StartShell(Player); CreateAppView for advanced document; CloseView when owned.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUISubsystem.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Retained across travel; player removal and subsystem shutdown clean up.

**Common mistake:** Closing retained shell when only its HUD observer disappears.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUISubsystem.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuisubsystem) · upstream guide (source: `Documentation/API.md`)

## QuartzUISurfaceTexture

**Advanced · `QuartzUIRuntime`** — Stable UTexture facade for the backend's existing output texture.

**Prerequisites:** Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials.

**Minimal use:** Use component-provided texture in the matching material parameter.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/rendering); include `QuartzUISurfaceTexture.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Session holds facade; generation-safe RHI rebinding.

**Common mistake:** Creating a new facade every frame or assuming no backend copy.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUISurfaceTexture.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuisurfacetexture) · upstream guide (source: `Documentation/Rendering.md`)

## QuartzUITextureResources

**Public · `QuartzUIRuntime`** — View-owned static Texture2D snapshots and revocable PNG URLs.

**Prerequisites:** Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities.

**Minimal use:** GetTextureResources()->RegisterTexture(loadedTexture).

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/integrations); include `QuartzUITextureResources.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** View retains assets/bytes; ReleaseAll/close revokes URLs.

**Common mistake:** Treating empty URL as ready or snapshots as live GPU import.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUITextureResources.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuitextureresources) · upstream guide (source: `Documentation/GAS.md`)

## QuartzUITypedEndpoint

**Public · `QuartzUIRuntime`** — Declared action/request handlers and one-shot typed request token.

**Prerequisites:** Configured app, explicit reflected value types, saved assets and freshly generated app contract.

**Minimal use:** Declare inventory.inspect, bind subclass, CompleteSuccess with exact DTO.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/providers-contracts); include `QuartzUITypedEndpoint.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Unbind/navigation/timeouts cancel pending completions.

**Common mistake:** Returning wrong result type or completing twice.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUITypedEndpoint.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuitypedendpoint) · upstream guide (source: `Documentation/ProjectContracts.md`)

## QuartzUIView

**Public · `QuartzUIRuntime`** — Logical app document, contract, provider closure and one presentation.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** Obtain from subsystem; AttachToView on a presenter.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIView.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Subsystem manages logical lifetime; presentation can change.

**Common mistake:** Attaching two presenters or holding foreign-player ownership.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIView.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiview) · upstream guide (source: `Documentation/API.md`)

## QuartzUIWidget

**Public · `QuartzUIRuntime`** — UMG presenter and advanced standalone browser policy.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** CreateAppView then AttachToView; observe OnReady.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `QuartzUIWidget.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Slate resources may rebuild; logical view remains subsystem-owned.

**Common mistake:** Using OnLoadCompleted as Ready or expecting all native methods as Blueprint nodes.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIWidget.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiwidget) · upstream guide (source: `Documentation/API.md`)

## QuartzUIWidgetComponent

**Public · `QuartzUIRuntime`** — Passive compatibility spatial browser through UWidgetComponent.

**Prerequisites:** Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials.

**Minimal use:** Add QuartzUI Spatial Widget; InitializeApp(App, Player).

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/rendering); include `QuartzUIWidgetComponent.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Owns view only when initialized as owner; releases on teardown.

**Common mistake:** Expecting pointer/IME support or ignoring second render-target cost.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIWidgetComponent.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiwidgetcomponent) · upstream guide (source: `Documentation/Rendering.md`)

## QuartzUIWorldSurfaceComponent

**Public · `QuartzUIRuntime`** — Passive browser texture on ordinary world mesh geometry.

**Prerequisites:** Exact-player app/view and real supported RHI for rendering; project-owned HTML/materials.

**Minimal use:** Add Direct World Surface; InitializeApp; match material parameter.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/rendering); include `QuartzUIWorldSurfaceComponent.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Component owns session/heartbeat/suspension; ReleaseQuartzUI closes owned resources.

**Common mistake:** Using raster size as world size or claiming interactive UV input.

Pinned header (source: `Source/QuartzUIRuntime/Public/QuartzUIWorldSurfaceComponent.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-quartzuiworldsurfacecomponent) · upstream guide (source: `Documentation/Rendering.md`)

## SQuartzUIBrowser

**Advanced · `QuartzUIRuntime`** — Slate browser wrapper, native focus, policy, fallback and bridge access.

**Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Minimal use:** Embed in native Slate with exact OwningLocalPlayer and app policy.

**Project integration:** [step-by-step guide](https://betterbuilt.games/docs/quartz-ui/views-input); include `SQuartzUIBrowser.h` from `QuartzUIRuntime` for direct native use.

**Lifecycle:** Slate wrapper owns browser/text-input binding and bridge.

**Common mistake:** Scaling a low-resolution raster or bypassing lifetime with raw CEF access.

Pinned header (source: `Source/QuartzUIRuntime/Public/SQuartzUIBrowser.h`) · [exact declarations](https://betterbuilt.games/docs/quartz-ui/reference-squartzuibrowser) · upstream guide (source: `Documentation/API.md`)

## Client modules, tools, and non-type integrations

### QuartzUIClient

**Public. Prerequisites:** Configured exact-player shell, QuartzUIRuntime dependency, one frontend client.

**Purpose and minimal use:** One document-owned protocol transport; construct with generated hash, subscribe, await ping, request.

**Integration:** [guide](https://betterbuilt.games/docs/quartz-ui/gameplay); pinned implementation (source: `Resources/Client/quartzui.mjs`).

**Lifecycle:** Unsubscribe component listeners; dispose at document teardown. **Avoid:** Creating clients inside React renders or expecting domain decoders.

### React hook

**Public. Prerequisites:** Configured exact-player shell, QuartzUIRuntime dependency, one frontend client.

**Purpose and minimal use:** useQuartzUIState(client, name); host supplies React 18+ and bundles peer dependency.

**Integration:** [guide](https://betterbuilt.games/docs/quartz-ui/gameplay); pinned implementation (source: `Resources/Client/react.mjs`).

**Lifecycle:** Hook cleans subscription on unmount/topic change. **Avoid:** Shipping JSX/bare npm imports or another React copy.

### React external store

**Public. Prerequisites:** Configured exact-player shell, QuartzUIRuntime dependency, one frontend client.

**Purpose and minimal use:** createStateStore(client, name) exposes stable retained snapshot subscription.

**Integration:** [guide](https://betterbuilt.games/docs/quartz-ui/gameplay); pinned implementation (source: `Resources/Client/react-store.mjs`).

**Lifecycle:** Returned unsubscribe detaches listener. **Avoid:** Cloning getSnapshot results on every read.

### Back ordering

**Public. Prerequisites:** Exact local player and configured app; Slate/UMG dependencies for native presentation work.

**Purpose and minimal use:** resolveBackBeforeTransition(id, plan, payload => client.request('quartzui.back.resolve', payload)).

**Integration:** [guide](https://betterbuilt.games/docs/quartz-ui/views-input); pinned implementation (source: `Resources/Client/back-navigation.mjs`).

**Lifecycle:** Deferred actions run only after acknowledgment. **Avoid:** Changing native context before Back acknowledgment.

### PresentationClock

**Public. Prerequisites:** Configured exact-player shell, QuartzUIRuntime dependency, one frontend client.

**Purpose and minimal use:** sample native time then read from the display animation loop.

**Integration:** [guide](https://betterbuilt.games/docs/quartz-ui/gameplay); pinned implementation (source: `Resources/Client/presentation-clock.mjs`).

**Lifecycle:** Component owner cancels loop; phase/reset/finish snap. **Avoid:** Extrapolating beyond latest authoritative time.

### Texture lookups

**Public. Prerequisites:** Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities.

**Purpose and minimal use:** textureResource for baked manifest; unrealTextureResource for issued URL.

**Integration:** [guide](https://betterbuilt.games/docs/quartz-ui/integrations); pinned implementation (source: `Resources/Client/texture-resources.mjs`).

**Lifecycle:** Manifest belongs to app; native URL lifetime belongs to view. **Avoid:** Asset paths as browser URLs or unchecked cross-origin URLs.

### Texture bake

**Editor. Prerequisites:** Exact-player view plus native asset/source ownership; GAS additionally requires GameplayAbilities.

**Purpose and minimal use:** plan/bake with explicit IDs/object paths; unreal_exporter in Unreal Python.

**Integration:** [guide](https://betterbuilt.games/docs/quartz-ui/integrations); pinned implementation (source: `Scripts/texture_resources.py`).

**Lifecycle:** Owned output changes only after successful batch. **Avoid:** Using cooked-only source with editor exporter or unowned output roots.

### Skill linker

**Tool. Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Purpose and minimal use:** --project host --check verifies links; explicit install omits --check.

**Integration:** [guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); pinned implementation (source: `Scripts/link_agent_skills.py`).

**Lifecycle:** Host tracks links and plugin pin; helper never overwrites conflicts. **Avoid:** Expecting symlink creation without Windows capability.

### Repository validator

**Tool. Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Purpose and minimal use:** Run before source delivery; -AllowBuildOutput only for mounted Git checkout.

**Integration:** [guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); pinned implementation (source: `Scripts/ValidateRepository.ps1`).

**Lifecycle:** Read-only gate except process output. **Avoid:** Deleting caches to satisfy layout validation.

### Identity redirects

**Integration. Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Purpose and minimal use:** Keep shipped redirects while loading old serialized assets; resave in Editor.

**Integration:** [guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); pinned implementation (source: `Config/DefaultQuartzUI.ini`).

**Lifecycle:** Compatibility config ships with plugin. **Avoid:** Editing binary assets or expecting redirects to rewrite C++/JS/config strings.

### Game UI design skill

**Authoring. Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Purpose and minimal use:** Read with host UI constraints for design work.

**Integration:** [guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); pinned implementation (source: `Skills/game-ui-design/SKILL.md`).

**Lifecycle:** Instructions follow linked plugin revision. **Avoid:** Treating example research/artwork as licensed production assets.

### Quartz implementation skill

**Authoring. Prerequisites:** Installed source plugin; Editor tools additionally require a compiled compatible host Editor target.

**Purpose and minimal use:** Read for native/frontend integration and validation workflow.

**Integration:** [guide](https://betterbuilt.games/docs/quartz-ui/tools-shipping); pinned implementation (source: `Skills/quartz-ui-implementation/SKILL.md`).

**Lifecycle:** Host retains project-specific build and ownership policy. **Avoid:** Treating skill instructions as runtime enforcement.

## Modules, fixtures, and private implementation

| Group | Shipped role | Integration and lifetime |
|---|---|---|
| QuartzUIRuntime | ClientOnly, PostConfigInit | Game UI public API; module owns runtime registrations and browser integration |
| QuartzUIGAS | ClientOnly, LoadingPhase None | Optional runtime loads it when GameplayAbilities is enabled; do not force server dependencies |
| QuartzUIEditor | Editor, PreDefault | Tools, commandlets, validation, migration; never depend on it from runtime-only code |
| QuartzUITests | DeveloperTool, Editor-only | Automation evidence, not a standalone host or game dependency |
| Resources/Web | Compiled compatibility/effects/renderer fixtures | Useful for regression comparison; do not edit as a customer frontend |
| Shaders | Native backdrop/projection implementation | Registered and driven by runtime; no project-side shader API promised |
| Source/*/Private | Implementations, reflection metadata, input processor, frame probe, render resources and tests | Owned by public services; full paths and hashes in source manifest; do not include private headers |
| Resources/Client/*.test.mjs and Scripts/test_*.py | Standalone regression suites | Development-only; fake gateways/exporters do not prove a host runtime |
| Documentation and CHANGELOG | Upstream guides and historical evidence | [source provenance](https://betterbuilt.games/docs/quartz-ui/evidence#source-provenance); read limitations before reusing claims |

## External or planned, not shipped here

CommonUI, CommonInput, Enhanced Input, Modular Gameplay and AngelScript-specific adapters are referenced by upstream prose but have no module/source payload here. Lyra/Cubegame applications, probes and host scripts are external. Plugin-owned CEF is another branch. Live GPU image import, general interactive world surfaces, arbitrary cross-view blur and full DOM OS accessibility are not delivered capabilities. HTML projection is the explicitly marked shipped prototype, not a planned API.

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