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

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

## UQuartzUIPresentationTarget

**Advanced type.** Internal presentation seam shared by Slate and direct world surfaces. The logical view owns providers and contracts. A presentation target owns the browser/bridge used to deliver them. Keeping this interface free of Slate and WebBrowser types lets a view attach to either presentation path.

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

**Minimal example / lifecycle:** Use existing widget/world-surface presenters; implement only for a new backend. Single presenter owns attach/detach for one logical view.

**Avoid:** Stealing an already-presented view or storing stale bridge pointers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIRuntime/Public/QuartzUIPresentationTarget.h#L19`)

## IQuartzUIPresentationTarget

**Advanced type.** Presentation Target: a declared type in interface that lets a logical view use umg or direct presentation; use its exact fields/operations below.

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

**Minimal example / lifecycle:** Use existing widget/world-surface presenters; implement only for a new backend. Single presenter owns attach/detach for one logical view.

**Avoid:** Stealing an already-presented view or storing stale bridge pointers. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIRuntime/Public/QuartzUIPresentationTarget.h#L24`)

## 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 "UObject/Interface.h"

#include "QuartzUIPresentationTarget.generated.h"

class UQuartzUIBridge;
class UQuartzUIView;

/**
 * Internal presentation seam shared by Slate and direct world surfaces.
 *
 * The logical view owns providers and contracts. A presentation target owns
 * the browser/bridge used to deliver them. Keeping this interface free of
 * Slate and WebBrowser types lets a view attach to either presentation path.
 */
UINTERFACE(MinimalAPI, NotBlueprintable)
class UQuartzUIPresentationTarget : public UInterface
{
	GENERATED_BODY()
};

class QUARTZUIRUNTIME_API IQuartzUIPresentationTarget
{
	GENERATED_BODY()

public:
	virtual UQuartzUIBridge* GetQuartzUIPresentationBridge() const = 0;
	virtual void DetachQuartzUIPresentation(UQuartzUIView* ExpectedView) = 0;
};
```

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