Commit Graph

159 Commits

Author SHA1 Message Date
Leon Huang
12951d8c9b Defer String Table find/load during module CDO registration, until StartupModule can be called. This resolves warnings that arise during CDO construction before game modules are loaded during cooking.
#rb: Jamie.Dale
#jira: none
#preflight: 6282612d046b81bf93bd9e27
#rnx

[CL 20247073 by Leon Huang in ue5-main branch]
2022-05-17 13:54:29 -04:00
charles bloom
f6ad984437 ModuleManager behavior nop, clean up some checks and comment
#rb Matt.Kuhlenschmidt,Nick.Darnell
#preflight 626aa154ad56c0cbbea0bd2c

#ROBOMERGE-AUTHOR: charles.bloom
#ROBOMERGE-SOURCE: CL 19962645 via CL 19963201 via CL 19964509
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19971745 by charles bloom in ue5-main branch]
2022-04-28 18:53:40 -04:00
Tim Smith
b192fb5cf9 Temporary fix for Live Coding for requested module loads that couldn't immediately be completed. (Leaving the OriginalFilename blank)
#rnx
#rb trivial
#preflight 6244bb7f470aff98e967296a

[CL 19564133 by Tim Smith in ue5-main branch]
2022-03-30 16:39:53 -04:00
Patrick Laflamme
a4ae12f5bb Added a new analyzer to the sumarize trace commandlet to summarize LoadModule_* CPU scope, hierarchically.
- The new analyzer compute the time to load each module, excluding the time required to load dependent modules, hense the need to do hierarchical analysis.
- The new analyzer publishes the total number of module scope encountered (which is roughly equivalent to number of module loaded if we ignore the few circular dependencies), the total time measured to load all modules, the average load time of a module, the longuest load time and a list of the 10 longuest module load time.

#jira UETOOL-4256 - Measure and report the Editor individual plugin load time
#rb Geoff.Evans
#preflight 61eacc60216c44f4770c089f

[CL 18689740 by Patrick Laflamme in ue5-main branch]
2022-01-21 10:43:48 -05:00
markus breyer
0191621925 ProcessNewlyLoadedObjects always called for VNI
- also removed installment of FModuleManager::OnProcessLoadedObjectsCallback() in monolithic builds as it's not needed for monolithic builds

#rb josh.adams
#rnx
#preflight 61d4cadad17842e547ac8231

#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 18522240 via CL 18524368 via CL 18524402 via CL 18524424 via CL 18524976 via CL 18524995
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18525024 by markus breyer in ue5-release-engine-test branch]
2022-01-05 16:56:35 -05:00
steve robb
c9738bf734 TEXTVIEW macros added to replace TEXT("abc"_SV) and some example uses of that.
Some other TEXT('a') and TCHAR[] fixes.

#rb devin.doucette
#preflight 619d2bee88439fccfe859591

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 18282959 via CL 18282963 via CL 18282965 via CL 18283576 via CL 18283624
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18283664 by steve robb in ue5-release-engine-test branch]
2021-11-24 09:59:37 -05:00
aurel cordonnier
b8a2838142 Fix typo in assert text
#rnx
#rb trivial

#ROBOMERGE-AUTHOR: aurel.cordonnier
#ROBOMERGE-SOURCE: CL 17453273 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17453324 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-07 23:34:31 -04:00
chris varnsverry
ce4dd6767c - Fix some unnecessary string copies when calling FPaths::FileExists
#jira FORT-392314
[at]Michael.Kirzinger [at]Marc.Audy [at]Rob.Cannaday [at]Sam.Zamani

#ROBOMERGE-SOURCE: CL 16923987 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16924003 by chris varnsverry in ue5-release-engine-test branch]
2021-07-22 11:11:51 -04:00
ben marsh
75834064bc Hack to allow marketplace build of Bridge plugin to load in EA2.
#ROBOMERGE-SOURCE: CL 16669617 in //UE5/Release-5.0-EarlyAccess/... via CL 16669633
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v834-16658389)

[CL 16669636 by ben marsh in ue5-release-engine-test branch]
2021-06-15 00:41:32 -04:00
geoff evans
08dc557886 Some warning fixes for when running Commandlets with -NoEnginePlugins
* Silence module load warnings unless doing LoadModuleChecked or specified
* Silence class load warnings when loading types from plugins inside APawn::APawn

#jira none
#rb francis.hurteau
#preflight 60904c8c7d9bf9000187b48b

[CL 16186734 by geoff evans in ue5-main branch]
2021-05-03 16:41:17 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Johan Torp
fa760b0820 Reduce ModuleManager allocations during early editor startup
#rb devin.doucette

[CL 15987408 by Johan Torp in ue5-main branch]
2021-04-13 05:46:50 -04:00
Marc Audy
01b7c9f4f5 Merge UE5/RES @ 15958325 to UE5/Main
This represents UE4/Main @ 15913390 and Dev-PerfTest @ 15913304

[CL 15958515 by Marc Audy in ue5-main branch]
2021-04-08 14:32:07 -04:00
Johan Torp
12cff15e4f Added string builder assignment operator and overloads for FSimpleParse and FParse::LineExtended
#rb devin.doucette

[CL 15886562 by Johan Torp in ue5-main branch]
2021-04-01 02:54:44 -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
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -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
danny couture
8f88f4a055 Add some useful Insights trace
#rb Francis.Hurteau

[CL 14487717 by danny couture in ue5-main branch]
2020-10-13 21:04:47 -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
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Josh Adams
5f27a8dbcb [Upgrade Notes Critical! Licensee build scripts and DeviceProfiles may need updating]
- Formalizing all TargetPlatforms to have a Client version, rename WindowsNoEditor to Windows, and removing DDPI specification of TargetPlatforms, and generate them programmatically
- Updated names DeviceProfiles and Build scripts, as above
- Some PlatformInfo class cleanup
- Added a TNonDesktopTargetPlatformBase class to make most TargetPlatforms simpler
- Added "No Compiled Support" to the Turnkey LaunchOn menu when the TargetPlatforms aren't compiled in (to show that even if you install an SDK, you will need to compile before you can LaunchOn)\
- Starting the transition away from PlatformInfo::FPlatformInfo to FDDPI

[CL 13966487 by Josh Adams in ue5-main branch]
2020-07-29 16:19:10 -04:00
ben marsh
6e9ae6e6fe Fix needing to manually enable building when launching projects from installed engine builds. Rather than relying solely on the engine promoted flag to determine whether a target should be built, we now check for the presence of a matching target receipt with the correct version information. If it's present, we don't trigger the build.
#rb none
#jira UE-89722, UE-90936

#ROBOMERGE-SOURCE: CL 12492552 in //UE4/Release-4.25/... via CL 12492554 via CL 12492556
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12492558 by ben marsh in Main branch]
2020-03-30 21:37:35 -04:00
Arciel Rekman
337e706273 Optimize shader compilation through XGE (bringing CL 11084076)
- Avoid directory scanning for .ini files by restoring already initialized config cache state on the workers
  - Avoid directory scanning for modules by restoring already initialized modulemanager state on the workers
  - Avoid directory scanning for external profilers DLLs by disabling the option in the build config
  - 20s -> 319ms of FEngineLoop::PreInit which was caused by directory scan through XGE remote filesystem
  - 5% -> 96% efficiency when computing the effective work against process total time for remotely built shaders
  - 5m36 ->1m26s to run "recompileshaders all" console command including waiting on async built shaders

#rb Danny.Couture (authored), Luke.Thatcher, Steve.Robb, Josh.Adams
[FYI] Bob.Tellez, Danny.Couture


#ROBOMERGE-OWNER: Arciel.Rekman
#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 11106212 via CL 11106216
#ROBOMERGE-BOT: (v640-11091645)

[CL 11106241 by Arciel Rekman in Main branch]
2020-01-24 12:16:02 -05:00
michael noland
2d6847d01a Core: Fixes for various unsafe implicit type conversion warnings in the Core module (WIP; some files still suppress the warning)
- Ptrdiff -> int32
- Float/int confusion and double/float
- size_t stuff; various changes to the algorithms to use a deduced IndexType template argument and/or decltype to use the appropriate size for indicies and counts
- Fixed GetNum(FString) incorrectly returning SIZE_T instead of int32, and GetNum(container) now returns whatever container.Num() does (so usually int32)
#jira UE-86949
#rb marc.audy, steve.robb


#ROBOMERGE-OWNER: michael.noland
#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 11050799 via CL 11050828 via CL 11050837
#ROBOMERGE-BOT: (v637-11041722)

[CL 11051763 by michael noland in Main branch]
2020-01-17 13:49:41 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00