Description

Performing a hot reload on a project that is using a local binary build of the Engine will sometimes result in the Engine's UE4Editor.version file being updated with a new BuildId value. That results in the Editor being unable to open the project after it is closed since the BuildId value no longer matches the values for when the various modules were built when the local binary build was created.

REGRESSION:
Yes. This behavior was not observed in 4.17.

Steps to Reproduce

SETUP:
This requires a local binary build of the Engine to be available. One can be built with the following command (will take some time to complete): RunUAT.bat BuildGraph -target="Make Installed Build Win64" -compile -script=Engine/Build/InstalledEngineBuild.xml -set:HostPlatformOnly=true -set:WithDDC=true

REPRO:

  1. Create a new basic code project using a local binary build of the Engine.
  2. Add a new Actor code class to the project.
  3. Make a change to the new Actor class (eg. add a new UPROPERTY).
  4. Build the project in Visual Studio to perform a hot reload in the Editor.
  5. Once the hot reload completes, close and re-open the Editor.
  6. Repeat steps 4 & 5 two or three more times.

RESULT:
The Editor fails to open successfully, and displays a message that numerous Engine modules are missing or built with a different engine version.

EXPECTED:
The Editor continues to open successfully after each hot reload.

WORKAROUND:
In some cases, closing the Editor and doing a normal, non-hot reload, build in Visual Studio allows the Editor to open normally again until another few hot reloads are performed.

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-55072 in the post.

1
Login to Vote

Fixed
ComponentCore
Affects Versions4.18.34.20
Target Fix4.19
Fix Commit3900297
Main Commit3990065
Release Commit3900297
CreatedFeb 10, 2018
ResolvedFeb 20, 2018
UpdatedApr 27, 2018