We are doing contract work for a 3rd party that requires us to use a custom fork of the engine. In source control, our client has committed the project as follows:
- runtime/Engine
- runtime/FeaturePacks
- runtime/{Our Project}
- runtime/Samples
- runtime/Templates
Note that the engine contains both source and compiled binaries. There is an automated process that automatically rebuilds the engine and project binaries anytime source code (*.h, *.cpp, *.cs etc) is committed to source control. If the build succeeds, all binaries are committed to the repository. This ensures anyone can pull down the latest version and have a working build within the editor.
This setup works great until our art or design team attempts to package a build. The problem is that Unreal recompiles tools and the projects code (even if it’s currently up to date) during packaging. This is problematic since our art team and a portion of the designers do not have copies of Visual Studio.
From what I have found online (and on the forums here), this seems like a common scenario that occurs when using source builds. The unfortunate part, is that things seemed to have changed quite a bit over the last few versions of Unreal. This has made it difficult to track down information in regards to this scenario.
Is there a way to configure the editor to not build tools and project binaries? Or do we need to create a standalone editor installation using RunUAT.bat BuildGraph in order to work around this? Specifically, what is the recommendation for scenarios like this when building the engine from source? If we use an off the shelf version of the Editor installed via the Epic Games Launcher, things work as expected when the projects DLL’s are committed.
Note that I did try to use BuildGraph to generate a standalone version of the editor. The problem is that the result believes it is a different version of the binaries then what has been committed to source control.Is there a way to package the build up for distribution without doing a full rebuild of binaries?
One last note is that our client suggested setting Packaging Settings → Project → Build to “Never” in the build settings. However, the packaging process complains that the Windows SDK is not being installed and quickly fails.