How to avoid constantly triggering engine rebuild

Hello everyone. For my project, I need to make some small tweaks to the engine, but in the process I find myself stuck in a vicious cycle of constantly having to rebuild engine. Here’s what happens:
Step 1: I build 5.3 engine from source.
Step 2: I build my game project from source, but stop it before it finishes bulding.
Step 3: I build the engine, expecting it to build incrementally, but a full rebuild happens instead.

I have attached below the build log from step 3.
It seems like a certain SharedPCH.Core.Cpp20.h.obj.rsp is what triggers the engine rebuild.
I think this SharedPCH.Core.Cpp20.h.obj.rsp is produced by Step 2.
Provided that between Step 1. and Step 3 I didn’t make changes to the engine, but may have made changes to the game project source code, how can I stop the engine from rebuilding, and make it build incrementally instead?

CONSOLE: Use build tool: C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe
11:20:04 PM Building E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj
11:20:04 PM Building E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.Box\EpicGames.Box.csproj
11:20:04 PM Building E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.Build\EpicGames.Build.csproj
11:20:04 PM Building E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.Core\EpicGames.Core.csproj
11:20:04 PM Building E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.Horde\EpicGames.Horde.csproj
11:20:04 PM Building E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.IoHash\EpicGames.IoHash.csproj
11:20:04 PM Building E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.OIDC\EpicGames.OIDC.csproj
11:20:04 PM Building E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.Serialization\EpicGames.Serialization.csproj
11:20:04 PM Building E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.UHT\EpicGames.UHT.csproj
11:20:04 PM Building E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.MsBuild\EpicGames.MsBuild.csproj
EpicGames.Core -> E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.Core\bin\Development\net6.0\EpicGames.Core.dll
EpicGames.Box -> E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.Box\bin\Development\net6.0\EpicGames.Box.dll
EpicGames.IoHash -> E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.IoHash\bin\Development\net6.0\EpicGames.IoHash.dll
EpicGames.MsBuild -> E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.MsBuild\bin\Development\net6.0\EpicGames.MsBuild.dll
EpicGames.Build -> E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.Build\bin\Development\net6.0\EpicGames.Build.dll
EpicGames.Serialization -> E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.Serialization\bin\Development\net6.0\EpicGames.Serialization.dll
EpicGames.Horde -> E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.Horde\bin\Development\net6.0\EpicGames.Horde.dll
EpicGames.OIDC -> E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.OIDC\bin\Development\net6.0\EpicGames.OIDC.dll
EpicGames.UHT -> E:\GameDev\UnrealEngine-5.3\Engine\Source\Programs\Shared\EpicGames.UHT\bin\Development\net6.0\EpicGames.UHT.dll
UnrealBuildTool -> E:\GameDev\UnrealEngine-5.3\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll
11:20:08 PM Building E:\GameDev\UnrealProjects\FleetAction\trunk\Intermediate\ProjectFiles\UE5.vcxproj
E:\GameDev\UnrealEngine-5.3\Engine\Build\BatchFiles\Build.bat -Target="UnrealEditor Win64 Development" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild
Using bundled DotNet SDK version: 6.0.302
Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" -Target="UnrealEditor Win64 Development" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild
Log file: E:\GameDev\UnrealEngine-5.3\Engine\Programs\UnrealBuildTool\Log.txt
Using 'git status' to determine working set for adaptive non-unity build (E:\GameDev\UnrealEngine-5.3).
Invalidating makefile for UnrealEditor (SharedPCH.Core.Cpp20.h.obj.rsp modified)
Building UnrealEditor and ShaderCompileWorker...
Using Visual Studio 2022 14.38.33134 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).
[Adaptive Build] Excluded from Engine unity file: InstancedStaticMesh.cpp
[Adaptive Build] Excluded from Core unity file: AssertionMacrosTest.cpp
[Adaptive Build] Excluded from MassRepresentation unity file: MassRepresentationTypes.cpp
Determining max actions to execute in parallel (6 physical cores, 12 logical cores)
  Executing up to 6 processes, one per physical core
------ Building 5216 action(s) started ------
[1/5216] Compile [x64] SharedPCH.Core.Cpp20.cpp

The option is to make Installed build instead of Source build. Here I wrote a bit of advices on this theme: Projects trigger engine rebuild
Hope it helps.

As for why it’s triggering rebuild… i’d guess it’s a specifics of ue’s build pipeline (since it isn’t a default vs c++ pipeline)