Hello! We received a request to validate the #bc tag in changelists with changes in specific UAsset classes, e.g., blueprints. The Submit Tool itself does not support this, so we set mount points and read the UAsset class type through the Asset Registry. We find it more convenient to do this through the Submit Tool than in the editor, because the Submit Tool already provides changelist parsing and #bc tag validation. Do you think this is the right approach for the Submit Tool, or would you handle it differently?
Steps to Reproduce
Hey Anna, sorry for the delayed response here
In general we’ve stayed away from loading uassets in the submit tool since depending on what you need to validate you could end up having to pull a lot of project-specific data and make the submit tool package huge, but in principle there’s nothing blocking you from doing that.
What we do internally is that we set up commandlet validators that invoke the unreal editor with the project-specific variables and arguments and that commandlet validate the assets in the CL using the Editor Validation system. Submit tool just controls the output of this editor process and checks that everything has validated externally.
yes, you have a couple of routes to go with this, you can skip validators when a cmdline arg is present using -from-editor and bSkipWhenCalledFromEditor=“true” in the validator properties. that means you won’t be running the commandlet in that case, and since SubmitToolEditor makes the editor run the validation before invoking submit tool you should be fine.
there’s also a couple of more rudimentary properties bSkipWhenAddendumInDescription & ChangelistDescriptionAddendum that can skip a validator when a specific tag is present in the CL description, I’d recommend the above though as it’s more reliable if you’re going with this.
That said, I don’t think adding the capability of loading .uassets to submit tool is necessarily a bad idea, it just might not scale easily if you want to support multiple projects and that’s why we haven’t done it internally. I guess you could also create separated apps per project that load and validate assets to avoid bloating SubmitTool binary but complexity might depend a lot on your use case.
Hello Juan, Thank you for clarifying. We are a little concerned about incorporating the validation commandlets into the Submit Tool, as we are unsure whether it will prolong validation time. Have you also solved the situation where commandlets should not run editor validations when the Submit Tool is launched from the editor via the SubmitToolEditor plugin, and so editor validations have been run before?