We are running into an issue with the apparent requirement that only one UAT task can be running at a time.
We have an automation task that we would like to run before ALL builds of a specific target, regardless of how the build is launched.
We want to use an automation task as opposed to a batch file or other script so that we have access to the Unreal APIs for Unreal .ini manipulation and Unreal build logging, as well as other Unreal build APIs.
It appears, however, that any build that tries to run any automation task (by adding it to the target.cs PreBuildSteps, for instance) will then fail if launched form RunUAT BuildCookRun, because, as far as I can tell, from the second BuildCookRun starts to it’s final completion it must be the only automation task running.
Is there any non hacky way to have C# code, correctly linked to the UnrealBuild APIs, that runs before a target builds, even if it is inside a BuildCookRun operation?
Unhandled exception: System.Exception: A conflicting instance of AutomationTool is already running. Current location: .\Engine\Binaries\DotNET\AutomationTool\AutomationTool.dll. A process manager may be used to determine the conflicting process and what tool may have launched it