Hello,
We are using Unreal Engine version 5.5.4 and our Jenkins CI pipeline is structured as follows:
- Editor Build (we submit the binary ZIP to Perforce for UGS)
- Android Build
- Windows Build
For the Editor Build, we are using BuildGraph with the default script:
Engine/Build/Graph/Examples/BuildEditorAndTools.xml
We have not modified this script. We use the SubmitToPerforceForUGS
target to submit the editor binaries.
Our Jenkins pipeline is configured to trigger the Editor Build on every submit, regardless of whether there are engine-related changes or only game (project) changes.
My Questions:
1. Do we need to trigger the Editor Build if there are no engine-related changes?
We currently trigger it on all submits, but I’m wondering if that is necessary or recommended.
2. We are encountering an issue when multiple submits happen at the same time. Our Editor Build job sometimes fails with this error:
//<projectname>-game/development-binaries/++<projectname>-game+development-<projectname>Editor.zip - already locked by perforce-workspace-name No files to submit. File(s) couldn't be locked. Submit failed -- fix problems above then use 'p4 submit -c changlist_number'. Took 0.21s to run p4.exe, ExitCode=1 Change changlist_number failed to submit.
We understand the reason:
If two Editor Build jobs run in parallel, one agent locks the
//<projectname>-game/development-binaries/++<projectname>-game+development-<projectname>Editor.zip
, and the other agent tries to submit at the same time, causing the failure.
Can you suggest how to avoid this issue? We are triggering builds using a P4 trigger.
3. When distributing the Editor binaries to the Art team, do they need to run Setup.bat
to run the Editor?
We upgraded the Editor from Epic GitHub, but we did not submit the dependency files that Setup.bat
downloads to Perforce.
What is the recommended approach in this case?
Please let me know if any additional information would help!
Thanks,
Abhishek