Requires Visual Studio 2019 15.8 Preview 3, and targets to specify bEnableCppModules = true. Unsupported on other compilers.
Notes:
- Module interfaces need to be placed in .IXX files.
- Module/module dependencies are determined by a post-makefile/pre-build scan of all module interfaces using the compiler, and cause additional prerequisites to be inserted into the dependency graph before execution.
- Available module IFC search paths use normal UE module dependency rules.
- Header units are not currently supported.
- Regular C++ files cannot currently implement functions defined in module interfaces, due to the macros force included by UBT. These macros need to be placed in the global module fragment, but declaring a global module fragment must be done from the translation unit being compiled (making force-included headers invalid).
#rb none
[CL 14354539 by Ben Marsh in ue5-main branch]
Mostly a find/replace, though I have looked through the changes and attempted to update references to other things as necessary (eg. renaming IOS plist files for IOS). I'm not set up to test on any platforms other than windows, and was hoping to get your blessing to submit and give QA enough time as possible to uncover issues before the next milestone release.
Particular things that I know I'm not sure about:
- Android references /UE4Game/ paths everywhere (for paths on device, I think). I have no idea if I've got them all.
- I've renamed the iOS mobileprovisions, but I don't know if they need regenerating for the new app name.
- Likewise, not sure what needs to be updated for icon bundles on iOS.
Things that have not been changed:
- Windows still uses IDI_UE4ICON for its icon
- UE4CommandLine.txt
- There's still a UE4Game module which is used by content-only projects
#rb none
[CL 14301890 by Ben Marsh in ue5-main branch]
//UE5/Main/Engine/Source/Programs/UnrealHeaderTool/...
to //UE5/Main/Engine/Source/Programs/UHTLite/...
UHTLite is a long-term refactor of UHT for performance and maintainability.
[CL 14201596 by fredric echols in ue5-main branch]
- Removed the function to return a single TP, and wrapped the functionality in a simple single required function (platform just has to add TPs to an array, high level code manages init and cleanup of the array)
- Stripped unncessary code from all TPs
- Collapsed the desktop targetplatform modules into 1 per platform
- Renamed LinuxAArch64NoEditorTargetPlatfortm to LinuxAArch64TargetPlatform to match the other non-editor platforms
- Deleted AllDesktopPlatform
[CL 13502803 by Josh Adams in ue5-main branch]
#ROBOMERGE-SOURCE: CL 13064814 via CL 13064821 via CL 13064829 via CL 13064834 via CL 13064849
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)
[CL 13064854 by donal maccarthy in Main branch]
#jira
#rb none
#ROBOMERGE-SOURCE: CL 12949395 in //UE4/Release-4.25/... via CL 12949397 via CL 12958413
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12958447 by ben marsh in Main branch]
#jira UE-91977
#rb none
#ROBOMERGE-SOURCE: CL 12940416 in //UE4/Release-4.25/... via CL 12940429 via CL 12940440
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12940447 by ben marsh in Main branch]
#jira
#ROBOMERGE-SOURCE: CL 12870520 via CL 12870524 via CL 12870525
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12870526 by ben marsh in Main branch]
#jira
#ROBOMERGE-SOURCE: CL 12862062 via CL 12862070 via CL 12862081
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12862084 by ben marsh in Main branch]
#jira
[FYI] Josh.Adams, Nick.Whiting, Lukasz.Furman, Martin.Wilson
#ROBOMERGE-SOURCE: CL 12797846 via CL 12798053 via CL 12798081
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12798140 by ben marsh in Main branch]
#rb Ben.Marsh
#ROBOMERGE-OWNER: james.hopkin
#ROBOMERGE-AUTHOR: james.hopkin
#ROBOMERGE-SOURCE: CL 12779149 via CL 12779152 via CL 12779160
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12782243 by James Hopkin in Main branch]
#jira
#ROBOMERGE-SOURCE: CL 12682624 via CL 12682644 via CL 12682651
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)
[CL 12682681 by ben marsh in Main branch]