Merging in fixes to better support SNDBS in UBT with use of cl-filter.
#lockdown ben.marsh
#rnx
#rb none
#jira UE-72225
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 6489426 in //UE4/Release-4.22/... via CL 6489461
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 6529324 by ryan durand in Dev-VR branch]
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
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 6455253 in //UE4/Release-4.22/... via CL 6455273
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 6512984 by ben marsh in Dev-VR branch]
* Switched to use JsonExport mode in UBT.
* Added runtime dependencies into the output file.
#rb none
#rnx
#jira
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5959015 in //UE4/Release-4.22/... via CL 5959017
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 5965188 by ben marsh in Dev-VR branch]
#rb ben.marsh
#rnx
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: peter.engstrom
#ROBOMERGE-SOURCE: CL 5667718 via CL 5667743 via CL 5667748 via CL 5667751 via CL 5668993 via CL 5668997
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 5670239 by peter engstrom in Dev-VR branch]
Allows fast iteration of C++ changes without restarting the application. To use, select the "Live Coding (Experimental)" mode from the drop down menu next to the editor's compile button, or type "LiveCoding" into the console for a monolithic build. Press Ctrl+Alt+F11 to find changes and compile.
Changes vs standalone Live++ version:
* UBT is used to execute builds. This allows standard UE4 adaptive unity mode, allows us to reuse object files when we do regular builds, supports using any build executor allowed by UBT (XGE, SNDBS, etc..).
* Adding new source files is supported.
* Custom visualizer for FNames is supported via a weakly linked symbol in a static library (Engine/Extras/NatvisHelpers).
* Settings are exposed in the editor's project settings dialog.
* Standalone application has been rewritten as a Slate app ("LiveCodingConsole"). There is an additional option to start the program as hidden, where it will not be visible until Ctrl+Alt+F11 is hit. Similarly, closing the window will hide it instead of closing the application.
* Does not require a standalone licensed version of Live++.
Known issues:
* Does not currently support class layout changes / object reinstancing
#rb none
[FYI] Marc.Audy, Stefan.Boberg, Nick.Penwarden
#jira
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5304722 in //UE4/Release-4.22/... via CL 5309051
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 5329502 by ben marsh in Dev-VR branch]
- Brings over the necessary engine changes for embedding UE4 mobile as a dylib/so in native mobile app
- Various changes for facial animation, screen recording, others
- ARKit and ARCore plugins were removed, as deemed "not ready"
#rb many people
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 5201138 via CL 5203024 via CL 5226277
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 5244512 by josh adams in Dev-VR branch]