QuartzUIProjectMigration: 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/QuartzUIProjectMigration.h) · integration recipe · practical guide
FQuartzUIProjectMigrationChange
Editor type. One explicit mutation made, or proposed by dry-run, during project migration.
Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIProjectMigration recipe in the host module QuartzUIEditor.
Minimal example / lifecycle: QuartzUIMigrate -Source=prebuilt -DryRun before real migration. Records own changes; rollback retains created output.
Avoid: Using deletion as conflict resolution or assuming rollback deletes assets. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIEditor/Public/QuartzUIProjectMigration.h#L6)
FQuartzUIProjectMigrationOptions
Editor type. Shared options for the Editor action, commandlet, CI, and automation.
Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIProjectMigration recipe in the host module QuartzUIEditor.
Minimal example / lifecycle: QuartzUIMigrate -Source=prebuilt -DryRun before real migration. Records own changes; rollback retains created output.
Avoid: Using deletion as conflict resolution or assuming rollback deletes assets. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIEditor/Public/QuartzUIProjectMigration.h#L15)
FQuartzUIProjectMigrationResult
Editor type. Stable machine-readable result for one apply, idempotence, dry-run, or rollback attempt.
Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIProjectMigration recipe in the host module QuartzUIEditor.
Minimal example / lifecycle: QuartzUIMigrate -Source=prebuilt -DryRun before real migration. Records own changes; rollback retains created output.
Avoid: Using deletion as conflict resolution or assuming rollback deletes assets. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIEditor/Public/QuartzUIProjectMigration.h#L42)
FQuartzUIProjectMigrationService
Editor type. Deterministic, no-overwrite migration from a validated prebuilt browser app to the project-owned app model. Apply and rollback keep project content recoverable and never write below the installed plugin.
Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIProjectMigration recipe in the host module QuartzUIEditor.
Minimal example / lifecycle: QuartzUIMigrate -Source=prebuilt -DryRun before real migration. Records own changes; rollback retains created output.
Avoid: Using deletion as conflict resolution or assuming rollback deletes assets. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIEditor/Public/QuartzUIProjectMigration.h#L67)
Complete header
Source snapshot, not an additional example. Unreal annotations distinguish exposed Blueprint nodes from native-only/private methods.
#pragma once
#include "CoreMinimal.h"
/** One explicit mutation made, or proposed by dry-run, during project migration. */
struct QUARTZUIEDITOR_API FQuartzUIProjectMigrationChange
{
FString Kind;
FString Path;
FString PreviousValue;
FString NewValue;
};
/** Shared options for the Editor action, commandlet, CI, and automation. */
struct QUARTZUIEDITOR_API FQuartzUIProjectMigrationOptions
{
FName AppId = TEXT("reference");
FString EntryPage = TEXT("index.html");
FString AssetPackagePath = TEXT("/Game/QuartzUIConfig/DA_QuartzUIReference");
/** Compiled static source. Empty selects the installed plugin's legacy fixture. */
FString SourceRoot;
/** Absolute project-directory override used by isolated tests. */
FString ProjectDirectory;
/** Empty values resolve below Saved/QuartzUI/Migrations. */
FString RecordPath;
FString ReportPath;
/** Copies only index.html and assets/** from the legacy plugin fixture. */
bool bLegacyFixtureLayout = false;
/** Restores the recorded previous default-app selection without deleting project output. */
bool bRollback = false;
/** Validates and reports the full plan without changing files, assets, or config. */
bool bDryRun = false;
};
/** Stable machine-readable result for one apply, idempotence, dry-run, or rollback attempt. */
struct QUARTZUIEDITOR_API FQuartzUIProjectMigrationResult
{
bool bSucceeded = false;
bool bChanged = false;
bool bIdempotent = false;
bool bRollback = false;
FString Code;
FString Message;
FName AppId;
FString SourceRoot;
FString DestinationRoot;
FString AssetObjectPath;
FString RecordPath;
FString ReportPath;
FString BuildIdentity;
FString ManifestSha256;
TArray<FQuartzUIProjectMigrationChange> Changes;
FString Json;
};
/**
* Deterministic, no-overwrite migration from a validated prebuilt browser app
* to the project-owned app model. Apply and rollback keep project content
* recoverable and never write below the installed plugin.
*/
class QUARTZUIEDITOR_API FQuartzUIProjectMigrationService final
{
public:
static constexpr int32 SchemaVersion = 1;
static bool Run(
const FQuartzUIProjectMigrationOptions& Options,
FQuartzUIProjectMigrationResult& OutResult);
};