Live++ reads object files at startup for game modules, and assigns unique ids to each compiland (used to disambiguate static variables). When compiling the patch, these compilands are modified to reference a unique id for the unity blob, causing the variables to be reconstructed.
Solution is to generate a JSON file to each output directory containing object files containing the mapping, and to use that to assign compiland ids at startup.
#rb none
#jira UE-74036
[CL 6455253 by Ben Marsh in 4.22 branch]
These variables (and their dynamic initializers) were being treated as new, rather than being linked back to their original instances. UBT now outputs a mapping of object files to their original unity object file during a live coding compile, which allows Live++ to disambiguate between new and reconstructed instances.
#rb none
#jira UE-72002
[CL 6455178 by Ben Marsh in 4.22 branch]
Now stores the linker environment block in the live coding manifest, and adds it to the cache before executing the linker.
#rb none
#jira UE-72324
[CL 5740602 by Ben Marsh in 4.22 branch]
* Removed code to invalidate makefiles when adding new source files. UBT should be reliable enough to make this determination itself nowadays, and ignored -invalidatemakefilesonly argument was causing modules to be recompiled.
* Fixed incorrect config section name when determining whether to allow hot reload from IDE. Now prevents hot reload from IDE when live coding is enabled.
* Added error message when trying to add a new class with Live Coding enabled.
* Added error messages when trying to start Live Coding after a hot reload has taken place.
* Added error messages when trying to hot reload with Live Coding enabled.
#jira UE-71253
#rb none
[CL 5403464 by Ben Marsh in 4.22 branch]
* Compile dropdown now just contains a checkbox for enabling live coding.
* Compile dropdown has a link to open the editor preferences window.
* Live coding can be enabled from the editor settings window.
* Option to show the console on startup is now folded into the startup mode.
* Options in the editor settings window are greyed out unless live coding is enabled.
#rb none
#jira
[CL 5352692 by Ben Marsh in 4.22 branch]