Hey,
So you can create BP validators in the editor & they are then run via the function in "UnrealEngine/Engine/Plugins/Editor/DataValidation/Source/DataValidation/Private
/EditorValidatorBase.cpp"
EDataValidationResult UEditorValidatorBase::ValidateLoadedAsset(const FAssetData& AssetData, UObject* Asset, FDataValidationContext& Context)
However their result isn’t used it seems to be missing the line
Result = CombineDataValidationResults(Result, NewResult);
Screenshot from github of the source code showing the K2Result isn’t used
[Image Removed]
Or am I missing something obvious…?
Hello [mention removed]
Thank you for reaching out and bringing this issue to our attention.
I was able to follow your reproduction steps (with a minor correction, you need to override the CanValidateAsset function, not CanValidate) and came to a similar result - no mention of the Invalid response from ValidadeLoadedAsset.
My Editor Logs:
LogContentValidation: Display: Starting to validate 1 assets LogContentValidation: Enabled validators: LogContentValidation: /Script/DataValidation.EditorValidator_Material LogContentValidation: /Script/DataValidation.DirtyFilesChangelistValidator LogContentValidation: /Script/DataValidation.EditorValidator_Localization LogContentValidation: /Script/DataValidation.PackageFileValidator LogContentValidation: /Script/DataValidation.WorldPartitionChangelistValidator LogContentValidation: /Script/InputBlueprintNodes.EnhancedInputUserWidgetValidator LogContentValidation: /Game/BPs/EUB_Repro.EUB_Repro_C AssetCheck: /Game/BPs/BP_TestAsset Validating asset
I’ll make an issue report and share the trackable link once I get it.
All the best,
[mention removed]
Hey [mention removed]
Ah apologies, not the first time I’ve got the 2 similarly named functions mixed up!
Okay grand, so it’s something that needs fixed up.
Appreciate it, will make the engine change locally to fix it up until the fix potentially comes down stream from yourselves.
Thanks,
[mention removed]
[mention removed] One side point I’ve noticed on the topic of BP created validators, perhaps worth logging in the system, is if you create a BP validator as described in the steps it will not function until you reboot the editor.
I believe this is because BP validators are only loaded in UEditorValidatorSubsystem::RegisterBlueprintValidators() which is called only via UEditorValidatorSubsystem::Initialize(FSubsystemCollectionBase& Collection).
Would be great if BP validators were added to the validation system on creation to save content creators from thinking their validator isn’t working to only have it ‘just work’ after a reboot.
Thanks again
[mention removed]
Hello [mention removed]
I see what you mean.
Having the validator only available the next time we open the Editor is unexpected, and I can see it causing a lot of frustration.
I think this deserves an issue report of its own.
I know it’s a bother, but do you mind creating a case for this request?
We are instructed to keep things fairly “clean” so it’s easier for the devs to track what is being asked - ideally, one issue per case.
Let me know.
All the best,
[mention removed]
Hello [mention removed]
Thank you again for reaching out and reporting this issue.
I’ve made a JIRA report to be added to the Unreal issue tracker website (https://issues.unrealengine.com).
Epic will decide if the issue will be made publicly accessible, and the whole process can take a few days, so keep that in mind.
If/once it is made publicly available, you will be able to track the resolution by checking this link:
I’ll wait for your reply regarding the other request before closing the case.
All the best,
[mention removed]
Hey [mention removed]
Created a new ticket for the issue
[Content removed]
Appreciate the responses & support,
[mention removed]
Hello [mention removed]
I appreciate your understanding.
I’ll close this case and open a ticket on the other one.
All the best,
[mention removed]