Game client now accepts only -filehostip for connection to a CTOF server, -cookonthefly is no longer necessary and is ignored.
Game client will now receive ProjectName (ProjectId), Platform (OplogId), Zen server host name and port from COTF server if running with zenstore.
Fixed issues with generating the ProjectId from a path where drive letters where lower case.
#rb zousar.shaker pj.kack
#preflight
[CL 24889513 by dan engelbrecht in ue5-main branch]
* Updated LauncherTool to traverse the class interfaces looking for attributes. Using GetCustomAttributes is not good enough because it will not find the HelpAttributes because the base attribute class(DescriptionAttribute) does not explicitly mark itself that the attribute is inherited.
#rb gary.yuan
#preflight 64028b895515f4f57b0a62c0
[CL 24511953 by bryan sefcik in ue5-main branch]
Make AssetManager required; engine startup gives a fatal error if AssetManager is not present.
#rn Minor, Cooking
#rb Zousar.Shaker
#preflight 63ffd322df66ed5fc11d963e
[CL 24493164 by Matt Peters in ue5-main branch]
Add ConfigOverrideParams to ProjectParams constructor.
Add OverrideStrings to ConfigHierarchyKey to get the right data from ConfigHierarchy.ReadHierarchy().
#rb dan.thompson
#rnx
#preflight 63ef5c0c3c1eb56f059e7370, 63ef5c4b90198dffbadbd846
[CL 24309947 by pj kack in ue5-main branch]
- Creates the UnrealArchitectures class, which wraps a list of UnrealArch objects
- UnrealArch is a single architecture, expandable enum-like struct
- There is no more concept of "no/default architecture", there is always a valid active architecture when building
- Most uses of "string Architecture" are replaced with one of the two above, depending if multiple architectures are supported or not
- UnrealArch has some platform-extensions for platform-specific naming (like Linux adds in LinuxName that turns, for instance, Arm64 -> aarch64-unknown-linux-gnueabi, which is used in folder names, etc)
- UnrealArch has bIsX64 which can be used determine intel instruction set (as opposed to arm)
- TargetRules class has an "Architecture" accessor that will return a single architecture if the active architectures is a single architecture, or throw an exception if multiple. This is useful in a majority of the cases where a paltform can only have a single architecture active in TargetRules (microsoft platforms, for instance, will create separate targets when compiling multiple architectures at once)
- Added UnrealArchitectureConfig class, which contains all the architecture information for a platform (what architectures are supported, what ones are currently active for given project, etc)
#preflight 63c81fb5b065224750a1759e
#rb mike.fricker,roman.dzieciol,joe.kirchoff,dmytro.vovk,brandon.schaefer [various parts]
#p4v-preflight-copy 23562471
[CL 23829977 by josh adams in ue5-main branch]
- Made use of it for Lyra to select LyraGame as default (instead of LyraGameEOS)
#rb ben.zeigler,david.harvey
#preflight 63c185a12e714f64ad188a2a
[CL 23678795 by Josh Adams in ue5-main branch]
- Added UAT params to pass architecture by target type (-editorarchitecture, -clientarchitecture, -serverarchitecture, -programarchitecture). Keeping -specifiedarchitecture for compat, and it will set all the other 4 if they are not specified
- Changed ProjectGenerator to find Program .uproject files (logic was looking for .Target files under the .uproject's directory, which is not the case for Programs)
- Added two params to GetProjectArchitectures:
- bGetAllSupported - used to get all supported architectures, not just the ones currently being built for (needed for XcodeProject to know what architectures to allow in the dropdown)
- bIsDistributionMode - used to get architectures to compile when making distribution builds (probably want to compile all architectures for distro's)
- Removed the MacExports.TargetsAlowedForAppleSilicon, updated XcodeProject code to use the new GetProjectArchitectures()
#rb david.harvey
#jira none
#preflight 63909f217e0feab0b7bd8241
[CL 23428114 by Josh Adams in ue5-main branch]
- Added a default implementation of GetCookPlatform, which allows BuildCookRun to run without needing any platform-specific automation DLLs (cook and staging can happen, but running/packaging would still need the platform automation dlls)
#rb graeme.thornton
#preflight 637d2ed8f514e1ded91d417b
[CL 23244387 by josh adams in ue5-main branch]
- this matches the logic when running UAT with -target=myserver etc.
#jira UE-169814
#rb Josh.Adams
#preflight 6374ab6f1c114bec05ee01f9
[CL 23151764 by David Harvey in ue5-main branch]
- It needs to have CookerSupportFilesSubdirectory passed in to BuildCookRun to activate (giving it the name of a subdirectory under the Staged directory to put the SDK files)
- it also writes a .bat file that can set the envvars needed for the minimal SDKs to be found by Unreal
#rb graeme.thornton
#preflight 634f1e9069246074dba2f09a
#p4v-cherrypick 22616289
[CL 22634717 by josh adams in ue5-main branch]
- Added code to patch paths for handling Programs having source in /Engine/Source/Programs/XYZ, their config fies, etc in /Engine/Programs/XYZ, and staging using /XYZ
- Mac can now apply -specifiedarchitecture to UAT builds of programs
- Added support to SlateUGS to load Pak files (programs have to opt-in to it in their main Build.cs)
#rb brandon.schaefer,david.harvey
#preflight 631a03202b7fe03eb6b0f16a
[CL 21894674 by Josh Adams in ue5-main branch]