- Does not have the changes for new .ini file locations
#rb ben.marsh
#ROBOMERGE-SOURCE: CL 12676628 via CL 12676630 via CL 12676633
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)
[CL 12676637 by josh adams in Main branch]
#jira none
#rb Ben.Marsh
[FYI] Andrew.Grant, Brandon.Schaefer
#ROBOMERGE-SOURCE: CL 12224860 in //UE4/Release-4.25/... via CL 12224862
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v663-12210973)
[CL 12224868 by michael sartain in Main branch]
#rb none
#jira UE-90547, UE-89724
#ROBOMERGE-SOURCE: CL 12170007 in //UE4/Release-4.25/... via CL 12170010
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v661-12148976)
[CL 12170012 by ben marsh in Main branch]
#jira
#rb none
#ROBOMERGE-SOURCE: CL 11619452 in //UE4/Release-4.25/... via CL 11619471
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v655-11596533)
[CL 11619492 by ben marsh in Main branch]
Visual Studio solution files and project files are now generated deterministically by UnrealBuildTool to reduce solution and project reloads.
Three sources of non-determinism are addressed by this change:
1. VisualStudioSolutionFolder now uses a deterministic guid based on its folder path in the solution. Note that this relies on MasterProjectFolder.AddSubFolder avoiding sibling folders with duplicate names.
2. The Visualizers folder now uses a hard-coded Guid.
3. RulesCompiler.FindAllRulesFiles now sorts cached paths.
#rb Ben.Marsh
[CL 10983140 by devin doucette in Dev-Core branch]
Any build targets have a DefaultBuildSettings property. For engine targets, this defaults to BuildSettingsVersion.Latest. For project targets, this defaults to BuildSettingsVersion.Release_4_23. For new projects, this will default to the engine version they are created from.
If a target is not using the latest default build settings, they will receive a message describing the settings that have changed, like this:
[Upgrade]
[Upgrade] Using UE 4.23 compatible build settings. The latest version of UE4 sets the following values by default, which may require code changes:
[Upgrade] bLegacyPublicIncludePaths = false => Omits subfolders from public include paths to reduce compiler command line length.
[Upgrade] PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs => Set in build.cs files to enables IWYU-style PCH model. See https://docs.unrealengine.com/en-US/Programming/BuildTools/UnrealBuildTool/IWYU/index.html.
[Upgrade] Suppress this message by setting 'DefaultBuildSettings = BuildSettingsVersion.Release_4_24;' in UnrealPak.Target.cs, and explicitly overriding desired settings.
[Upgrade]
Intent is to reduce friction for users initially upgrading to new engine versions, while notifying them of more optimal build settings being available, and letting them choose when (or if) to use them.
#rb none
[CL 8556769 by Ben Marsh in Dev-Build branch]
- extensions are included in the solution
- extension automation projects are included under Automation, and built as part of AutomationTool
#rb josh.adams
[CL 6651876 by David Harvey in Dev-Build branch]
- This allows for Confidential platforms to exist outside of the engine, and insert themselves in as needed
- Directory structure is, where .... mirrors the directory structure for Engine and projects
- /Platforms/XXX/....
- Moving to more data driven approach for ShaderPlatforms and PlatformInfo, where they can be read from DataDrivenPlatformInfo.ini files that live in the platform config folders
- Removed platform mentions from UBT, by way of changing some enums to partial classes with static members (see UnrealTargetPlatform)
- Various other UBT/UAT modifications to allow for looking in other locations for files
- THIS IS NOT A COMPLETE AND FINAL SOLUTION. WE WILL CONTINUE WORK IN DEV-BUILD BEFORE ITS READY FOR PRIMETIME
#rb ben.marsh
[CL 6271418 by Josh Adams in Dev-Build branch]