QuartzUIProjectValidation: 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/QuartzUIRuntime/Public/QuartzUIProjectValidation.h) · integration recipe · practical guide
EQuartzUIValidationTarget
Advanced type. Validation strictness shared by details UI, commandlets, automation, and cook hooks.
Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIProjectValidation recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Run QuartzUIValidate; inspect Code/Field/Correction per issue. Pure validation over current settings/assets.
Avoid: Ignoring individual errors because files exist. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIProjectValidation.h#L13)
FQuartzUIValidationIssue
Advanced type. One deterministic, actionable configuration failure.
Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIProjectValidation recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Run QuartzUIValidate; inspect Code/Field/Correction per issue. Pure validation over current settings/assets.
Avoid: Ignoring individual errors because files exist. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIProjectValidation.h#L23)
FQuartzUIProjectValidationOptions
Advanced type. Project Validation Options: a declared type in settings validation, target strictness and actionable issue records; use its exact fields/operations below.
Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIProjectValidation recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Run QuartzUIValidate; inspect Code/Field/Correction per issue. Pure validation over current settings/assets.
Avoid: Ignoring individual errors because files exist. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIProjectValidation.h#L52)
FQuartzUIProjectValidationService
Advanced type. Single pure policy surface shared by every project-settings entry point.
Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIProjectValidation recipe in the host module QuartzUIRuntime.
Minimal example / lifecycle: Run QuartzUIValidate; inspect Code/Field/Correction per issue. Pure validation over current settings/assets.
Avoid: Ignoring individual errors because files exist. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.
Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIProjectValidation.h#L59)
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 "QuartzUIProjectValidation.generated.h"
class UQuartzUIAppAsset;
class UQuartzUIProjectSettings;
struct FQuartzUIAppDefinition;
/** Validation strictness shared by details UI, commandlets, automation, and cook hooks. */
UENUM(BlueprintType)
enum class EQuartzUIValidationTarget : uint8
{
Editor,
CommandLine,
Development,
Shipping
};
/** One deterministic, actionable configuration failure. */
USTRUCT(BlueprintType)
struct QUARTZUIRUNTIME_API FQuartzUIValidationIssue
{
GENERATED_BODY()
UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Validation")
FString Code;
UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Validation")
FName AppId;
UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Validation")
FString Field;
/** Bounded path, endpoint, or value that violated policy. */
UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Validation")
FString OffendingValue;
UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Validation")
FString Policy;
UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Validation")
FString Message;
UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Validation")
FString Correction;
FString ToString() const;
};
struct QUARTZUIRUNTIME_API FQuartzUIProjectValidationOptions
{
EQuartzUIValidationTarget Target = EQuartzUIValidationTarget::Editor;
bool bCheckAppFiles = true;
};
/** Single pure policy surface shared by every project-settings entry point. */
class QUARTZUIRUNTIME_API FQuartzUIProjectValidationService final
{
public:
static bool ValidateProjectSettings(
const UQuartzUIProjectSettings& Settings,
const FQuartzUIProjectValidationOptions& Options,
TArray<FQuartzUIValidationIssue>& OutIssues);
/** Applies project defaults only where the app has not declared an override. */
static bool TryResolveAppDefinition(
const UQuartzUIProjectSettings& Settings,
const UQuartzUIAppAsset* App,
FQuartzUIAppDefinition& OutDefinition,
FString& OutError);
static const TCHAR* GetTargetName(EQuartzUIValidationTarget Target);
};