I made some tiny changes to the Unreal Engine source, and then I created an Installed Build of the engine using the instructions here:
The Installed Build compiles fine, but when trying to compile my game after switching the project to the Installed Build engine version I get the following error:
UnrealBuildTool : error : Couldn't find target rules file for target 'ShaderCompileWorker' in rules assembly 'UE4Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
UE4 also does not appear as a project in my game’s visual studio solution file (even after regenerating visual studio project files), and am wondering if this could be part of the problem.
I am using UE 4.24.3
Any ideas for solving this problem?
I think I may have made some progress, but something is still not right.
I right clicked my game project in the solution and went to properties, then looked at the build command line under ‘NMake’. It was this:
E:\Programs\Epic\UE_4.24_Custom\Engine\Build\BatchFiles\Build.bat -Target="MyGameEditor Win64 Development -Project=\"$(SolutionDir)$(ProjectName).uproject\"" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild
For some reason ShaderCompileWorker is one of the build targets. Is this normal? I tried removing the ShaderCompileWorker build target, and when I started building the solution it no longer stopped with the error above (in the first post), but to my surprise it began recompiling the entire game engine.
This really surprised me, since the entire reason why I made an Installed Build was to avoid this from happening.
I’ve tried making another Installed Build several times, switching my project’s engine version to the new Installed Builds, and regenerating the Visual Studio project files, and nothing changes. ShaderCompileWorker remains one of the build targets in the generated solution file, and when trying to build my game’s solution I get the following output log message:
The command "E:\Programs\Epic\UE_4.24_Custom\Engine\Build\BatchFiles\Build.bat -Target="MyGameEditor Win64 Development -Project=\"E:\unreal_projects\MyGame\MyGame.uproject\"" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild" exited with code -1.