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

# QuartzUIHUD: 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/QuartzUIHUD.h`) · [integration recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuihud) · [practical guide](https://betterbuilt.games/docs/quartz-ui/views-input)

## AQuartzUIHUD

**Public type.** Drop-in Blueprintable HUD facade for the subsystem-owned retained QuartzUI shell.

**Prerequisites / integration:** Exact local player and configured app; Slate/UMG dependencies for native presentation work. Use the [QuartzUIHUD recipe](https://betterbuilt.games/docs/quartz-ui/inventory#quartzuihud) in the host module `QuartzUIRuntime`.

**Minimal example / lifecycle:** Set HUDClass to AQuartzUIHUD; use Ready/Failed/Action/Stopped events. HUD rebuild rebinds; explicit Stop closes shell.

**Avoid:** Assuming EndPlay must destroy the shell. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIRuntime/Public/QuartzUIHUD.h#L11`)

## Complete header

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

```cpp
#pragma once

#include "CoreMinimal.h"
#include "GameFramework/HUD.h"
#include "QuartzUIShellComponent.h"

#include "QuartzUIHUD.generated.h"

/** Drop-in Blueprintable HUD facade for the subsystem-owned retained QuartzUI shell. */
UCLASS(Blueprintable, meta = (DisplayName = "QuartzUI HUD"))
class QUARTZUIRUNTIME_API AQuartzUIHUD : public AHUD
{
	GENERATED_BODY()

public:
	AQuartzUIHUD();

	UFUNCTION(BlueprintCallable, Category = "QuartzUI|Shell", meta = (DisplayName = "Start UI Shell"))
	bool StartShell();

	UFUNCTION(BlueprintCallable, Category = "QuartzUI|Shell", meta = (DisplayName = "Stop UI Shell"))
	bool StopShell();

	UFUNCTION(BlueprintPure, Category = "QuartzUI|Shell", meta = (DisplayName = "Get UI Shell"))
	UQuartzUIView* GetShell() const;

	UFUNCTION(BlueprintPure, Category = "QuartzUI|Shell", meta = (DisplayName = "Is UI Ready"))
	bool IsShellReady() const;

	UFUNCTION(BlueprintPure, Category = "QuartzUI|Shell", meta = (DisplayName = "Get UI Shell Failure"))
	FString GetShellFailure() const;

	UFUNCTION(BlueprintPure, Category = "QuartzUI|Shell")
	UQuartzUIShellComponent* GetShellComponent() const { return ShellComponent; }

	UPROPERTY(BlueprintAssignable, Category = "QuartzUI|Shell")
	FQuartzUIShellReady OnShellReady;

	UPROPERTY(BlueprintAssignable, Category = "QuartzUI|Shell")
	FQuartzUIShellFailed OnShellFailed;

	UPROPERTY(BlueprintAssignable, Category = "QuartzUI|Shell")
	FQuartzUIShellStopped OnShellStopped;

	/** Named, explicitly registered action forwarded by the canonical shell view. */
	UPROPERTY(BlueprintAssignable, Category = "QuartzUI|Actions")
	FQuartzUIActionReceived OnAction;

protected:
	virtual void BeginPlay() override;
	virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;

private:
	void BindShellComponentDelegates();
	void UnbindShellComponentDelegates();

	UFUNCTION()
	void HandleShellReady(UQuartzUIView* Shell);

	UFUNCTION()
	void HandleShellFailed(UQuartzUIView* Shell, FString FailureReason);

	UFUNCTION()
	void HandleShellStopped(UQuartzUIView* Shell);

	UFUNCTION()
	void HandleShellAction(FName ActionName);

	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "QuartzUI|Shell", meta = (AllowPrivateAccess = "true"))
	TObjectPtr<UQuartzUIShellComponent> ShellComponent;
};
```

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