QuartzUIEditorDevServer: 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.
Pinned source (source: Source/QuartzUIEditor/Public/QuartzUIEditorDevServer.h) · integration recipe · practical guide
FQuartzUIEditorDevServerLaunch
Editor type. Editor Dev Server Launch: a declared type in validated project-local vite process and redirect lifetime; use its exact fields/operations below.
Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIEditorDevServer recipe in the host module QuartzUIEditor.
Minimal example / lifecycle: Set project frontend root then Start/Stop Vite Dev Server. Editor owns and stops only its launched process tree.
Avoid: Installing dependencies implicitly or silently changing ports. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIEditor/Public/QuartzUIEditorDevServer.h#L6)
FQuartzUIEditorDevServerPolicy
Internal type. Validates the fixed Node + project-local Vite command assembled by the Editor.
Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIEditorDevServer recipe in the host module QuartzUIEditor.
Minimal example / lifecycle: Set project frontend root then Start/Stop Vite Dev Server. Editor owns and stops only its launched process tree.
Avoid: Installing dependencies implicitly or silently changing ports. This named helper is runtime-owned; inspect/use it through the owner above rather than constructing it in gameplay.
Exact source line (source: Source/QuartzUIEditor/Public/QuartzUIEditorDevServer.h#L15)
FQuartzUIEditorDevServer
Editor type. Owns exactly one child process and never searches for or kills unrelated processes.
Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIEditorDevServer recipe in the host module QuartzUIEditor.
Minimal example / lifecycle: Set project frontend root then Start/Stop Vite Dev Server. Editor owns and stops only its launched process tree.
Avoid: Installing dependencies implicitly or silently changing ports. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIEditor/Public/QuartzUIEditorDevServer.h#L33)
Complete header
Source snapshot, not an additional example. Unreal annotations distinguish exposed Blueprint nodes from native-only/private methods.
#pragma once
#include "CoreMinimal.h"
#include "QuartzUIDevelopmentPolicy.h"
struct QUARTZUIEDITOR_API FQuartzUIEditorDevServerLaunch
{
FString Executable;
FString Parameters;
FString WorkingDirectory;
FQuartzUIDevelopmentEndpoint Endpoint;
};
/** Validates the fixed Node + project-local Vite command assembled by the Editor. */
class QUARTZUIEDITOR_API FQuartzUIEditorDevServerPolicy final
{
public:
static constexpr int32 MaxCapturedLineLength = 4096;
static bool TryBuildLaunch(
FName AppId,
const FString& FrontendRoot,
const FString& NodeExecutable,
int32 Port,
const FString& EntryPath,
FQuartzUIEditorDevServerLaunch& OutLaunch,
FString& OutError);
/** Removes terminal escape/control sequences and applies the log allocation bound. */
static FString SanitizeOutputLine(const FString& Line);
};
/** Owns exactly one child process and never searches for or kills unrelated processes. */
class QUARTZUIEDITOR_API FQuartzUIEditorDevServer final
{
public:
FQuartzUIEditorDevServer();
~FQuartzUIEditorDevServer();
bool Start(const FQuartzUIEditorDevServerLaunch& Launch, FString& OutError);
void Stop();
void Refresh();
bool IsRunning();
FString GetUrl() const;
private:
TUniquePtr<class FMonitoredProcess> Process;
TOptional<FQuartzUIDevelopmentEndpoint> ActiveEndpoint;
};