How is SubmitTool deployed within Epic? I was under the impression that it was previously deployed by UGS in its Tools.json, but I now see that there’s an UpdateService.cpp that is directly polling Horde. Also, WHERE is SubmitTool deployed? I’ve tried to allow UGS to deploy SubmitTool in <users>/AppData/Local/UnrealGameSync/Tools/SubmitTool/Current/SubmitTool/SubmitTool.exe, but then the .exe fails at startup because it can’t find the Engine directory for Internationalization or find the Slate renderers. Previously I was deploying the exe inside the Perforce branch itself, but since we have multiple branches, this required multiple copies of SubmitTool. Do you have any recommendations?
We have a single submit tool distribution for all the company/streams. We do that by packaging submit tool to be self-contained using BuildCookRun, we do this as part of a Horde job, I’ll attach a version of the xml job with some removed paths and portions that are protected.
If you inspect the job, you can see that we can upload to both UGS and Horde, we have submit tool configured to poll horde to check versions mismatch and self-update. We did that because UGS tool update mechanism wasn’t as strict as we needed for our submit tool requirements so we implemented our own in-tool via Horde. First setup for developers is still done by UGS, but subsequent updates are only deployed to Horde and submit tool self-updates on startup if there’s a new version.
Attached the job, search for ***REDACTED*** for replacing paths and such.
We also use UGS CustomTools to register the binary with p4v on first setup, you can use the InstallSubmitTool.sh/bat, internally we use a legacy system that pre-dates the .bat on windows but the bat should work fine, we just need to swap to it.