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

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

## UQuartzUIEditorSettings

**Editor type.** Per-project editor preferences. Remote debugging is never enabled by this module in packaged games.

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

**Minimal example / lifecycle:** Configure Editor Preferences then restart for DevTools changes. Editor user settings only.

**Avoid:** Assuming legacy default frontend root matches the host. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: `Source/QuartzUIEditor/Public/QuartzUIEditorSettings.h#L9`)

## Complete header

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

```cpp
#pragma once

#include "Engine/DeveloperSettings.h"

#include "QuartzUIEditorSettings.generated.h"

/** Per-project editor preferences. Remote debugging is never enabled by this module in packaged games. */
UCLASS(Config = EditorPerProjectUserSettings, DefaultConfig, meta = (DisplayName = "QuartzUI"))
class QUARTZUIEDITOR_API UQuartzUIEditorSettings final : public UDeveloperSettings
{
	GENERATED_BODY()

public:
	virtual FName GetContainerName() const override { return TEXT("Editor"); }
	virtual FName GetCategoryName() const override { return TEXT("Plugins"); }
	virtual FName GetSectionName() const override { return TEXT("QuartzUI"); }

	/** Adds -cefdebug before Epic's CEF singleton starts, enabling the Tools menu without a manual launch flag. */
	UPROPERTY(Config, EditAnywhere, Category = "Development", meta = (DisplayName = "Automatically Enable Chromium DevTools"))
	bool bAutoEnableRemoteDevTools = true;

	/** Loopback Chromium debugging port used only by Editor builds. */
	UPROPERTY(Config, EditAnywhere, Category = "Development", meta = (ClampMin = "1024", ClampMax = "65535"))
	int32 DevToolsPort = 9222;

	/** Frontend root for Tools > Quartz UI > Development Server > Start Vite Dev Server. Supports $(ProjectDir) and $(PluginDir). */
	UPROPERTY(Config, EditAnywhere, Category = "Development Server", meta = (DisplayName = "Frontend Root Directory"))
	FString FrontendRootDirectory = TEXT("$(PluginDir)/../../Frontend");

	/** Node executable basename from PATH, or an absolute node/node.exe path. Arbitrary commands are rejected. */
	UPROPERTY(Config, EditAnywhere, Category = "Development Server", meta = (DisplayName = "Node Executable"))
	FString NodeExecutable = TEXT("node");

	/** Packaged app ID redirected to Vite only while the Editor-owned process is active. */
	UPROPERTY(Config, EditAnywhere, Category = "Development Server", meta = (DisplayName = "Development App ID"))
	FName DevelopmentAppId = TEXT("mvp");

	/** Fixed IPv4 loopback port. Vite uses strictPort and will not silently select another origin. */
	UPROPERTY(Config, EditAnywhere, Category = "Development Server", meta = (ClampMin = "1024", ClampMax = "65535"))
	int32 VitePort = 5173;

	/** Optional relative startup page. Empty opens the Vite root. */
	UPROPERTY(Config, EditAnywhere, Category = "Development Server", meta = (DisplayName = "Development Entry Path"))
	FString DevelopmentEntryPath;

	/** Project-relative output used by Tools > Quartz UI > Advanced > Generate TypeScript Contract. */
	UPROPERTY(Config, EditAnywhere, Category = "Contracts", meta = (DisplayName = "TypeScript Contract Output"))
	FString TypeScriptContractOutput = TEXT("QuartzUI/Generated/quartzui.contract.ts");
};
```

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