Commit Graph

106 Commits

Author SHA1 Message Date
adam kinge
bb907afb38 Fix Hot Reload failing on AppleSilicon Macs as UBT compiles the changed module as x86_64.
#jira UE-176171
[FYI] zack.neyland, josh.adams
#preflight none as it's arm64 specific and hot code reload
#lockdown [at]rolando.caloca

[CL 24040409 by adam kinge in ue5-main branch]
2023-02-06 18:06:18 -05:00
jeanmichel dignard
8d07a7338f Exec commands changes:
- Port some development only exec commands to Exec_Dev.

#rb none
#preflight 63c5c97f02024f93d822d678

[CL 23734254 by jeanmichel dignard in ue5-main branch]
2023-01-16 19:28:53 -05:00
Tim Smith
0ad177d3af Added tagging for unassigned allocations
#rb self
#jira UE-153910
#preflight 62fa5e6bb66d5d93137aada8

[CL 21387777 by Tim Smith in ue5-main branch]
2022-08-15 12:06:33 -04:00
Tim Smith
079f546218 Fixed HotReload to not invoke GC while the GIsInitialLoad flag is forced to true.
#rb self
#rnx
#preflight 627beefab60dee4a43b3b628

[CL 20144209 by Tim Smith in ue5-main branch]
2022-05-11 13:27:26 -04:00
aurel cordonnier
e3f7878676 Merge from Release-Engine-Test @ 17462327 to UE5/Main
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17463546 by aurel cordonnier in ue5-main branch]
2021-09-08 16:42:26 -04:00
Andriy Tylychko
2a295eb685 deprecated FTicker and family and replaced by thread-safe FTSTicker
#jira UE-120090
#rb francis.hurteau

[CL 17176325 by Andriy Tylychko in ue5-main branch]
2021-08-16 11:05:18 -04:00
Martin Ridgers
c66323b8c7 Compile fix when WITH_HOT_RELOAD is 0
#rb tim.smith
#rnx
#robomerge Release-5.0-EarlyAccess

[CL 15888066 by Martin Ridgers in ue5-main branch]
2021-04-01 08:49:38 -04:00
tim smith
8694dbe65c Removing UE4 from identifiers
#rb none
#jira UE-111732

#ROBOMERGE-SOURCE: CL 15852005 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15852979 by tim smith in ue5-main branch]
2021-03-29 13:42:46 -04:00
Tim Smith
a2237e050d LiveCoding Re-instancing
LIMITATIONS:

1) Re-instancing will only update UClass instance data.
2) Adding and removing properties should only be done towards the end of a class or structure and can not be followed by complex data types.
3) Adding and removing properties from a base class should not be done if a derived class contains complex data types.

KNOWN ISSUES:

1) Changes to enumerations and structures will not be reflected in existing blueprints.  However, adding new nodes to the blueprint will show the updated enumeration or structure.
2) If a class contains an enumeration or structure as a member, the class will not be re-instanced if enumeration or structure is changed.

CHANGES:

1) LiveCodingServer
1a) Modified to always execute certain static instances during load.
1b) Modified to exclude the _Statics static structures to avoid patching to old copies.

2) Added support for LiveCoding reinstancing
2a) Refactored deferred registration system for UClass, UEnum, and UScriptStruct to use a common system that works for normal game, hot reload and live coding.
2b) Type specific version check data is possible (i.e. enum doesn't have a size)
2c) Single registration static for UClass
2d) Single registration class for all types that is just a blind forward to API.
2e) Static and dynamic registrations use different API entry points to avoid having overloaded argument lists that just apply to one or the other.
2f) Shims for older API

3) New common "Reload" system to avoid using HotReload code.
3a) Support common delegates regardless of who is reloading/reinstancing.
3b) Re-instancing code moved from HotReload to Kismet2 (where the bulk of the re-instance code already existed).
3c) Modified PyWrapper to use new helper class instead of depending on HotRelaod
3d) Added WITH_RELOAD which is defined if HotReload or LiveCoding is enabled.
3e) Modifed existing code to use new #define and delegates.

Robert did the review on the changes covered by Part 2.  Remaining changes are all straightforward.

#rb robert.manuszewski
#jira UE-74493

[CL 15736777 by Tim Smith in ue5-main branch]
2021-03-18 08:13:59 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
graeme thornton
03c63639bc Fixed some cases where the editor tries to spawn UBT to recompile modules using -TargetType=?. For projects with multiple editor targets, this won't work because UBT won't know which target to compile.
#ROBOMERGE-SOURCE: CL 11175923 via CL 11175944 via CL 11175951
#ROBOMERGE-BOT: (v640-11091645)

[CL 11175961 by graeme thornton in Main branch]
2020-01-30 09:21:02 -05:00
JeanMichel Dignard
70d074639f Merging //UE4/Dev-Main @ 10886849 to Dev-Tools-Staging (//UE4/Dev-Tools-Staging)
#rb none
#rnx

[CL 10906274 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-08 13:26:18 -05: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
Chris Gagnon
346a4b05ea Copy up from Dev-Editor @10681378
#rb none

[CL 10837446 by Chris Gagnon in Dev-Tools-Staging branch]
2019-12-19 18:07:47 -05:00
marc audy
dbcf07a558 Use new inline versions of substring functions
Fix up nearby cases where ESearchCase::CaseSensitive should have been used
#jira
#rnx
#rb

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 10309793 via CL 10309818
#ROBOMERGE-BOT: (v593-10286020)

[CL 10309932 by marc audy in Main branch]
2019-11-19 13:27:07 -05:00
Matt Hoffman
925ce9590f Significantly refactored PIE startup and consolidated a fair bit of the existing code into structures that better reflect the lifespan that they are valid for. This refactoring will make it easier for systems that are requesting PIE startup to have better control over the instance that is started up. This refactoring also changes network testing to focus on the role you want to test (standalone, client, listen server) and the number of clients you want to test instead of of trying to determine this information based on other variables.
#rb None
#fyi Michael.Noland

[CL 9754486 by Matt Hoffman in Dev-Editor branch]
2019-10-22 22:03:49 -04:00
Stefan Boberg
1f813eb516 Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb many

[CL 9405827 by Stefan Boberg in Main branch]
2019-10-03 16:26:48 -04:00
steve robb
4a6d3a947d Fix for reinstancing of engine classes in hot reload.
#jira UE-77392
#rb robert.manuszewski

#ROBOMERGE-SOURCE: CL 7448346 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v371-7306989)

[CL 7448347 by steve robb in Main branch]
2019-07-19 08:00:50 -04:00
steve robb
18e97740ec Fix for warnings about engine classes being hot reloaded when they haven't even changed.
#jira UE-71581
#rb none
[FYI] jamie.dale
#lockdown cristina.riveron

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 5459196 in //UE4/Release-4.22/... via CL 5459199
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 5475395 by steve robb in Dev-Core branch]
2019-03-20 13:21:03 -04:00
steve robb
185fddd5c3 Fix for warnings about engine classes being hot reloaded when they haven't even changed.
#jira UE-71581
#rb none
[FYI] jamie.dale
#lockdown cristina.riveron

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

[CL 5459199 by steve robb in Main branch]
2019-03-19 15:56:12 -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
steve robb
2359172217 Reset the module manager cache after recompiling an unloaded module just in case it's a brand new one.
#rb none
#jira UE-69366

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

[CL 4968360 by steve robb in Main branch]
2019-02-12 09:36:05 -05:00
Robert Manuszewski
42a83fa96a Fix hot reload compiling all game modules. Caused by AnimationSharing module declaring itself as a game module (via IModuleInterface), and hot reload disabling shared PCHs if a non-game module (determined via directory location) is being rebuilt.
(reimplementing CL #4755564 from Dev-Core)


#rb Ben.Marsh
#lockdown Nick.Penwarden
#jira UE-68715

[CL 4770170 by Robert Manuszewski in Main branch]
2019-01-22 10:31:52 -05:00