Commit Graph

316 Commits

Author SHA1 Message Date
Ben Marsh
6f927647b1 Changing C# code over to using EpicGames.Core over DotNETCommon.
#rb none
#rnx

[CL 14962096 by Ben Marsh in ue5-main branch]
2020-12-21 23:07:37 -04:00
Ben Marsh
d841d84ddb Missing files.
#rb none
#rnx

[CL 14962041 by Ben Marsh in ue5-main branch]
2020-12-21 22:17:17 -04:00
Ben Marsh
f86c977d59 Forking DotNETUtilities into EpicGames.Common, to allow unification with Horde. Uses Core-style hierarchical naming, and excludes classes that have counterparts in NET Core. DotNETUtilities will be deprecated/made as a wrapper around EpicGames.Common.
#rb none
#rnx

[CL 14961221 by Ben Marsh in ue5-main branch]
2020-12-21 11:50:46 -04:00
Ben Marsh
83f27d27e9 UBT: Mark platforms and project file generation code as not nullable aware.
#rb none
#rnx

[CL 14960496 by Ben Marsh in ue5-main branch]
2020-12-20 17:32:59 -04:00
Joakim Lindqvist
d8d0d66650 Fixed issues in generated VSCode project that wasnt correctly generating dotnet build commands to build UBT.
#rb none

[CL 14954317 by Joakim Lindqvist in ue5-main branch]
2020-12-18 07:55:13 -04:00
Phillip Kavan
11c00323ea Remove exposed parts of the Blueprint nativization feature (deprecated), and decouple it from the editor/cooking phase.
#jira UE-103261
#rb Michael.Noland

[CL 14882147 by Phillip Kavan in ue5-main branch]
2020-12-08 16:28:03 -04:00
Joakim Lindqvist
302f1f8ddd UBT can now filter out any project which requires dotnet support from the solution, which we do for VS2017 as it does not support Dotnet Core 3+
#rb ben.marsh

[CL 14855498 by Joakim Lindqvist in ue5-main branch]
2020-12-04 12:20:48 -04:00
Josh Adams
b2e578ee68 - Fixed debugging AutomationTool in Visual Studio with netCore changes
#rb joakim.lindqvist

[CL 14836195 by Josh Adams in ue5-main branch]
2020-12-02 12:57:17 -04:00
Joakim Lindqvist
e7039d3d35 UBT and UAT now use .NET Core instead of Framework and Mono. This means that we use the same runtime on Windows, Linux and Mac. Further benefits including newer C# features and a lot of intresting features for the future around AOT and Tiered compilation.
Some behavior changes:
Output paths - Both tools are now output to a subdirectory of Binaries/Dotnet, I believe most hardcoded paths have been fixed up but there may be tools that will fail because of this.
UAT Plugin Building - As .NET Core does not support AppDomain unloading, how we build the plugins has changed quite a bit, these are now built before UAT is started rather then by UAT itself. If you just start UAT via RunUAT.bat/sh this should just continue to work.

#rb ben.marsh

[CL 14834347 by Joakim Lindqvist in ue5-main branch]
2020-12-02 06:57:13 -04:00
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00
Joakim Lindqvist
b4d3e129ca Moved logic for finding automation tool projects into msbuild, making the generated .reference file from UBT redundant.
This makes it possible to build UAT with these references without having to run UBT first. Thus also fixes net core building of the project.

This adds about 5 seconds to the build time of automation tool but eliminates the need to run UBT and should avoid the need to implement -compile in UAT (in the end saving more then these 5 seconds)

This essentially does the same as UBT did before, create a .reference file on disk that can then be read by msbuild, it just does this in msbuild as well so we have fewer components involved.

#rb ben.marsh

[CL 14640899 by Joakim Lindqvist in ue5-main branch]
2020-11-03 08:00:07 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Joakim Lindqvist
394b90b098 UBT changes required for netcore projects.
* Added support for more complex Msbuild conditions (using static property methods) as we use this to do per platform checks in the csprojs.
* Tweaks to the parsing of csprojs as expecations are different for netcore (mostly for how configurations are defined)
* Lastly if -dotnetcore flag is present when generating projects, use the netcore project files instead.

#rb ben.marsh

[CL 14572331 by Joakim Lindqvist in ue5-main branch]
2020-10-26 06:08:01 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Joakim Lindqvist
28a2dc4fe7 Unreal VS 1.57
* 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]
2020-10-08 04:19:43 -04:00
Joakim Lindqvist
4aa09904f2 UnrealBuildTool now supports running as a net core project.
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]
2020-10-05 08:13:04 -04:00
Joakim Lindqvist
eebb43e444 Added UnrealEngineGeneratedSolutionVersion tag to generated solution file which is used by UnrealVS to detect that this is a unreal solution. Should fix failure to detect renamed solution in UnrealVS.
#rb none
#jira UE-100134

[CL 14394956 by Joakim Lindqvist in ue5-main branch]
2020-09-25 07:23:43 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Ben Marsh
52672b7bf5 Remove references to Enterprise from UBT.
#rb none

[CL 14354554 by Ben Marsh in ue5-main branch]
2020-09-20 15:18:41 -04:00
Ben Marsh
03675533ea Rename UE4Game -> UnrealGame, UE4Client -> UnrealClient, UE4Server -> UnrealServer.
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]
2020-09-11 15:54:42 -04:00
Ben Marsh
486408b1a9 Rename UE5Editor to UnrealEditor.
#rb none
#jira UE-97600

[CL 14292067 by Ben Marsh in ue5-main branch]
2020-09-10 15:39:00 -04:00
Ben Marsh
be7034ec27 Rename UE4Editor to UE5Editor, and generated solution/projects from UE4 -> UE5.
UE4Game/Client/Server targets left intact for the time being.

#rb none

[CL 14288076 by Ben Marsh in ue5-main branch]
2020-09-10 09:10:30 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00