The problem was caused by the fact that in DebugGame we end up with two manifests in the executable's directory: one for the engine's modules (Development configuration) and one for the game's modules (DebugGame configuration). We need to load both to be able to find all the modules.
The editor has a separate path for mounting game's directories with executables but it would fail in the standalone game.
#rb nuno.leiria
#preflight 62cecfc5f30df2b55bf41e5c
#rnx
[CL 21070701 by Wojciech Krywult in ue5-main branch]
Things to note regarding this pass:
* No includes are currently being removed from public headers.
* Any private file that has a #if is currently not being updated.
#rb Devin Doucette and Marc Audy
#preflight 62c62086756222ced497ff95
#preflight 62c626d12f2d04691814d331
#preflight 62c630107e606620fdd64e31
#preflight 62c635c6756222ced49a13cf
[CL 20979027 by bryan sefcik in ue5-main branch]
- 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]
- 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]
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]
#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]
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]
- 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]