UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DataValidation.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
9
10#include "DataValidation.generated.h"
11
12struct FAssetData;
13
14UENUM(BlueprintType)
16{
18 None = 0,
19
21 Manual,
22
25
27 Save,
28
31
33 Script,
34};
35
40{
41public:
59
61
75
77 {
78 return ValidationUsecase;
79 }
80
87 {
88 return AssociatedExternalObjects;
89 }
90
91 // Returns whether the asset currently being validation was loaded specifically for the purposes of validation
92 // Otherwise it was already loaded before validation started
93 // Default valid is false so that validators can attempt to reload asset to verify on-disk state/load process
94 // if unsure.
95 // If true, allows that duplicate work to be skipped in some context.
97 {
98 return bWasAssetLoadedForValidation;
99 }
100
102 {
103 bWasAssetLoadedForValidation = true;
104 }
105
109 void AddWarning(const FText& Text) { Issues.Emplace(Text, EMessageSeverity::Warning); NumWarnings++; }
110 void AddError(const FText& Text) { Issues.Emplace(Text, EMessageSeverity::Error); NumErrors++; }
111
112 const TArray<FIssue>& GetIssues() const { return Issues; }
113 uint32 GetNumWarnings() const { return NumWarnings; }
114 uint32 GetNumErrors() const { return NumErrors; }
115
116 COREUOBJECT_API void SplitIssues(TArray<FText>& Warnings, TArray<FText>& Errors, TArray<TSharedRef<FTokenizedMessage>>* Messages = nullptr) const;
117
118private:
119 TArray<FIssue> Issues;
120 uint32 NumWarnings = 0;
121 uint32 NumErrors = 0;
122
123 TConstArrayView<FAssetData> AssociatedExternalObjects;
125 bool bWasAssetLoadedForValidation = false;
126};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EDataValidationUsecase
Definition DataValidation.h:16
#define UENUM(...)
Definition ObjectMacros.h:749
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition DataValidation.h:40
EDataValidationUsecase GetValidationUsecase() const
Definition DataValidation.h:76
TConstArrayView< FAssetData > GetAssociatedExternalObjects() const
Definition DataValidation.h:86
void AddError(const FText &Text)
Definition DataValidation.h:110
FDataValidationContext()=default
COREUOBJECT_API TSharedRef< FTokenizedMessage > AddMessage(const FAssetData &ForAsset, EMessageSeverity::Type InSeverity, FText InText={})
Definition DataValidation.cpp:57
const TArray< FIssue > & GetIssues() const
Definition DataValidation.h:112
uint32 GetNumWarnings() const
Definition DataValidation.h:113
bool WasAssetLoadedForValidation() const
Definition DataValidation.h:96
void AddWarning(const FText &Text)
Definition DataValidation.h:109
void MarkAssetLoadedForValidation()
Definition DataValidation.h:101
COREUOBJECT_API void SplitIssues(TArray< FText > &Warnings, TArray< FText > &Errors, TArray< TSharedRef< FTokenizedMessage > > *Messages=nullptr) const
Definition DataValidation.cpp:79
FDataValidationContext(bool InWasAssetLoadedForValidation, EDataValidationUsecase InUsecase, TConstArrayView< FAssetData > InAssociatedObjects)
Definition DataValidation.h:67
uint32 GetNumErrors() const
Definition DataValidation.h:114
Definition UnrealTemplate.h:321
Definition Text.h:385
Definition Array.h:670
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Type
Definition TokenizedMessage.h:21
@ Error
Definition TokenizedMessage.h:23
@ Warning
Definition TokenizedMessage.h:25
Definition AssetData.h:162
Definition DataValidation.h:43
EMessageSeverity::Type Severity
Definition DataValidation.h:45
FText Message
Definition DataValidation.h:44
TSharedPtr< FTokenizedMessage > TokenizedMessage
Definition DataValidation.h:46
FIssue(TSharedRef< FTokenizedMessage > InTokenizedMessage)
Definition DataValidation.h:48
FIssue(const FText &InMessage, EMessageSeverity::Type InSeverity)
Definition DataValidation.h:53