14 Commits

Author SHA1 Message Date
Tim Smith
d087b03671 Improved Live Coding startup time to make starting the console an asyncronous task.
#rb Robert.Miller
#preflight 635143efc9559712ed540c11

[CL 22654049 by Tim Smith in ue5-main branch]
2022-10-20 09:21:20 -04:00
tim smith
c440be643c Live coding now handles adding a feature pack as long as the project already contained source files. Otherwise it requests that the game be built from the IDE. Will also request that the game be built from the IDE when adding a class to a blueprint only project.
#rb none
#rnx
#jira UE-130744 UE-134701

#ushell-cherrypick of 18406025 by Tim.Smith
#preflight 61b0d7367177ccd1a130be05

#ROBOMERGE-AUTHOR: tim.smith
#ROBOMERGE-SOURCE: CL 18407173 in //UE5/Release-5.0/... via CL 18407182
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18407194 by tim smith in ue5-release-engine-test branch]
2021-12-08 11:50:54 -05:00
tim smith
d0f6b45a08 Fixing compile issue with type not being defined
#rb trivial
#rnx
#preflight 616701a45eae5700010b2db9

#ROBOMERGE-AUTHOR: tim.smith
#ROBOMERGE-SOURCE: CL 17802769 in //UE5/Release-5.0/... via CL 17802809
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17802827 by tim smith in ue5-release-engine-test branch]
2021-10-13 13:18:44 -04:00
tim smith
0617a5be6f LiveCoding feedback to user when the console can't be started has been improved.
#rb trivial
#preflight 6166c0d5bf7be80001d33794

#ROBOMERGE-AUTHOR: tim.smith
#ROBOMERGE-SOURCE: CL 17798658 in //UE5/Release-5.0/... via CL 17801707
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17801876 by tim smith in ue5-release-engine-test branch]
2021-10-13 12:19:13 -04:00
tim smith
b294a27c29 Add the ability to enable re-instancing via project settings. Old setting still supported.
Add the ability to enable auto compile when adding new C++ classes.
Fixed user feedback issues when adding new C++ classes.

#rb joe.kirchoff
#rnx
#jira UE-116958
#preflight 60cb2e884ce02c0001d278c1

#ROBOMERGE-SOURCE: CL 16703582 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16703591 by tim smith in ue5-release-engine-test branch]
2021-06-17 08:47:50 -04:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
ben marsh
1c50519254 LiveCoding: Add a delegate that's called when a Live Coding patch is applied.
#jira UE-79227
[FYI] Rex.Hill


#ROBOMERGE-SOURCE: CL 8362316 via CL 8362852
#ROBOMERGE-BOT: (v402-8361577)

[CL 8362915 by ben marsh in Main branch]
2019-08-28 12:34:28 -04:00
ben marsh
4b0b806b71 Fix issues related to hot-reload and LiveCoding co-existing.
* 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

#ROBOMERGE-SOURCE: CL 5403464 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5403485 by ben marsh in Main branch]
2019-03-14 17:52:18 -04:00
ben marsh
d695b8a97d Fix "Compile" button in toolbar using legacy hot reload when live coding startup is set to manual.
#rb none
#jira UE-71359

#ROBOMERGE-SOURCE: CL 5361201 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5368484 by ben marsh in Main branch]
2019-03-12 10:09:26 -04:00
ben marsh
6cf6469c8f LiveCoding: Tweaks to live coding settings.
* 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

#ROBOMERGE-SOURCE: CL 5352692 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5364901 by ben marsh in Main branch]
2019-03-11 18:57:53 -04:00
ben marsh
90201985e0 LiveCoding: Disable the editor compile button while a compile is in progress.
#rb none
#jira UE-71077

#ROBOMERGE-SOURCE: CL 5343160 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5343162 by ben marsh in Main branch]
2019-03-07 17:30:35 -05:00
ben marsh
b02ec9e909 LiveCoding: Expose a Tick() function so that systems that don't use fire EndFrame() callbacks can still tick the live coding module. Also add a -LiveCoding command line argument to force it on.
#rb none
#jira

#ROBOMERGE-SOURCE: CL 5340479 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5340483 by ben marsh in Main branch]
2019-03-07 15:21:21 -05:00
ben marsh
0a76cfc192 Fix copyright notices.
#rb none
#jira
#rnx

#ROBOMERGE-SOURCE: CL 5307349 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5314652 by ben marsh in Main branch]
2019-03-06 12:44:19 -05:00
ben marsh
cf183af67c Integrating live coding feature (aka Live++) into UE4.
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-SOURCE: CL 5304722 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5309051 by ben marsh in Main branch]
2019-03-05 18:49:25 -05:00