* Improved detection of UE solution by using a special section outputted to the solution, this replaces the need to add a special comment into the solution (or relying on naming convention as was the fallback). This still works with the old conventions to support being used in a UE4 solution.
* Inverted Quickbuild menu to dynamically populate the platforms instead - this allows UnrealVS to data drive the platform list. Unfortunatley due to how visual studio UI handles dynamic lists we can not have a menu that is dynamic and has children. Thus configurations are now hard coded instead - these are still only visible when they are actually supported, but it means UnrealVS needs to be updated when new configurations are added.
* Fixed issue setting debug arguments to net core projects (due to the change to launchSettings.json to store the debug arguments)
#rb ben.marsh
#jira UE-100134, UE-95503
[CL 14444525 by Joakim Lindqvist in ue5-main branch]
- Wrapped the build in try/finally to always clean up of the build directory.
- Fixed target platform construction to include the target architecture.
- Fixed target platform construction to log an error on failure instead of crashing on a null dereference later.
- Fixed configuration name comparisons to be case-insensitive.
- Added an optional BinOutputPath param to match LibOutputPath.
- Changed to an empty default MakeTarget because CMake was not generating a target with the previous default name.
- Changed BuildTargetLib to use cmake --build instead of implementing custom build logic for every target platform.
- Changed Linux to use CMake and make from the path instead of attempting to use the Mac binaries.
- Simplified the TargetPlatform interface to remove a lot of boilerplate code from the implementations.
#jira none
#rb Brandon.Schaefer
[CL 14439522 by devin doucette in ue5-main branch]
Added a set of netcore csprojs to BuildUtilities and DotnetUtilities that build to a seperate output folder. This allows other tools to still target .net framework (like UAT for instance).
UBT is still by default targeted as .net framework.
Note that UBT built for net core has a different output directory Engine/Binaries/DotNet/UnrealBuildTool/UnrealBuildTool.exe - this is due to how a netcore project output looks with signficantly more files that are related to that application (that would be overwritten if using a shared directory).
To opt in to this set UE_USE_DOTNET=1 environment variable.
Please note that due to the changed output directory a lot of tooling will likely break at this point.
#rb ben.marsh
[CL 14419918 by Joakim Lindqvist in ue5-main branch]
Add support for benchmarking task graph scheduling in benchmark tool
Fix exit in benchmark tool
#rb Andriy.Tylychko
[CL 14394713 by danny couture in ue5-main branch]
- General fixes for some platforms
- DDPI now remembers the SDK version information from Turnkey
- Updated Turnkey Launch menu to have SDK information, including device software versions,
- Moved the initial turnkey query earlier before AutoSDKs are setup so envvars are not blown away for the child process
- Added concept of "Prepare For Debugging", but not enabled on any platforms yet (what it means is per platform, and is somewhere between cooking and packaging)
- VerifySdk Turnkey command now puts its output into a (x=y, z=w) format for easier parsing in C++
- NullCopyProvider now copies large remote files, and remote directories, locally before using
[CL 14377385 by Josh Adams in ue5-main branch]
Add fbx sdk base code to open a file and create the hierarchy so we can import material and textures from fbx
#jira none
#rb jeanmichel.dignard, richard.talbotwatkin
[CL 14375962 by Alexis Matte in ue5-main branch]
- PCHs and unity builds are now automatically disabled when module support is enabled.
- C++20 mode is automatically enabled if module support is enabled.
- Added test for using a module implementation unit. Seems to work with force-included headers after all (but breaks if unity builds are on)
#rb none
[CL 14354711 by Ben Marsh in ue5-main branch]