Commit Graph

148 Commits

Author SHA1 Message Date
Francis Hurteau
87fd0a4157 Harvest soft object path package on save for cooker to handle save permutations such as the world partition grid cell split:
* Added a function to RedirectCollector to ingest soft package references
* Push the harevest soft package references from save to the redirect collector on a succesful save
* Moved the processing of soft package reference associated with a package during cook to after that package has been saved

#rb Matt.Peters
#jira UE-115137

[CL 16534223 by Francis Hurteau in ue5-main branch]
2021-06-02 10:28:45 -04:00
aurel cordonnier
43fa62fcd8 Merge from Release-Engine-Test @ 16487383 to UE5/Main
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16488106 by aurel cordonnier in ue5-main branch]
2021-05-27 13:40:37 -04:00
paul chipchase
71b969d9c4 Cherrypicking Mirage code base (disabled) from Dev-Cooker
- The mirage specific code is disabled behind the define UE_USE_VIRTUALBULKDATA, this means that some code paths in Texture/Mesh are much more complex than they need to be as we support both old and new paths. Once the system has been turned on and confirmed to cause no issues then this will be stripped out.
- SavePackageUtilities.cpp, SavePackage.cpp and SavePackage2.cpp are editgrates rather than integrations as those files have changes in DevCooker that we don't want to bring over immediately.
- Also includes a prototype system for storing bulkdata in a sidecar file in the workspace domain rather than in the .uasset/.umap file which although has been discontinued as part of mirage, will have applications for future work for non-virtualized projects and/or text based assets.

#rb Patrick.Finegan (all changes have been reviewed when submitted to Dev-Cooker)
#tests Cooking and running ShooterGame/Frosty and other sample programs using megascan assets
#rnx
#preflight  608be50d870cf400013ff99d

[CL 16167285 by paul chipchase in ue5-main branch]
2021-04-30 08:14:54 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Matt Peters
7b37d28361 Make UE::AssetRegistry::Filtering work on provided containers so that the upcoming threadsafe AssetRegistry can use its own threadsafe data for the queries.
#rb Dave.Belanger
#rnx

[CL 16005018 by Matt Peters in ue5-main branch]
2021-04-14 10:11:49 -04:00
Matt Peters
a792bc3ab5 #jira FROST-1436
Interim BlueprintGeneratedClass::IsAsset change:
All code that is enumerating unfiltered assets in a package/outer needs to handle multiple assets, or if it can't, needs to call ShouldSkipAsset or IsUAsset to skip over the non-UAsset assets.

Move UE::AssetRegistry::FFiltering into CoreUObject to make it accessible to FindAssetInPackage.
#rb Dave.Belanger
#rnx

[CL 15766334 by Matt Peters in ue5-main branch]
2021-03-22 14:00:30 -04:00
Tim Smith
a2237e050d LiveCoding Re-instancing
LIMITATIONS:

1) Re-instancing will only update UClass instance data.
2) Adding and removing properties should only be done towards the end of a class or structure and can not be followed by complex data types.
3) Adding and removing properties from a base class should not be done if a derived class contains complex data types.

KNOWN ISSUES:

1) Changes to enumerations and structures will not be reflected in existing blueprints.  However, adding new nodes to the blueprint will show the updated enumeration or structure.
2) If a class contains an enumeration or structure as a member, the class will not be re-instanced if enumeration or structure is changed.

CHANGES:

1) LiveCodingServer
1a) Modified to always execute certain static instances during load.
1b) Modified to exclude the _Statics static structures to avoid patching to old copies.

2) Added support for LiveCoding reinstancing
2a) Refactored deferred registration system for UClass, UEnum, and UScriptStruct to use a common system that works for normal game, hot reload and live coding.
2b) Type specific version check data is possible (i.e. enum doesn't have a size)
2c) Single registration static for UClass
2d) Single registration class for all types that is just a blind forward to API.
2e) Static and dynamic registrations use different API entry points to avoid having overloaded argument lists that just apply to one or the other.
2f) Shims for older API

3) New common "Reload" system to avoid using HotReload code.
3a) Support common delegates regardless of who is reloading/reinstancing.
3b) Re-instancing code moved from HotReload to Kismet2 (where the bulk of the re-instance code already existed).
3c) Modified PyWrapper to use new helper class instead of depending on HotRelaod
3d) Added WITH_RELOAD which is defined if HotReload or LiveCoding is enabled.
3e) Modifed existing code to use new #define and delegates.

Robert did the review on the changes covered by Part 2.  Remaining changes are all straightforward.

#rb robert.manuszewski
#jira UE-74493

[CL 15736777 by Tim Smith in ue5-main branch]
2021-03-18 08:13:59 -04:00
Matt Peters
e4625e6f59 AssetRegistry - Change AssetDataGatherer to always use asynchronous background scanning. A tree structure in FAssetDataDiscovery keeps track of what has been scanned, so that ScanPathsSynchronous requests can wait on only what is missing.
#rb Zousar.Shaker, Francis.Hurteau
#rn Minor AssetRegistry

[CL 15306274 by Matt Peters in ue5-main branch]
2021-02-03 19:36:37 -04:00
Matt Peters
e77e3fc7ee Fix iostore builds not working:
If FPackageName::DoesPackageExist uses DoesPackageExistOverrideDelegate to find the package, it needs to set the extension to a special marker EmptyExtension, so that IPackageResourceManagerFile sends the filename without an extension to IFileManager rather than searching for one of the regular extensions.
#rb Francis.Hurteau
#rnx

[CL 15016768 by Matt Peters in ue5-main branch]
2021-01-07 19:54:51 -04:00
Matt Peters
aae0fe62eb PackageResourceManager and PackagePaths
Create a new interface IPackageResourceManager that handles all attempts to load packages from storage. The default implementation passes through to loading from IFileManager. Future implementations will load from other services such as the EditorDomain and TargetDomain.
Add FPackagePath class that holds a LocalFilePath or LongPackageName, or a relative path to a package under a mounted content root (which can be converted into either the LocalFilePath or LongPackageName).
Modify LinkerLoad, BulkData, and AsyncLoader to use FPackagePath and IResourceManager.
Modify UPackage and FLinkerLoad to have a FPackagePath instead of a Filename.
#rb Paul.Chipchase, CarlMagnus.Nordin, Francis.Hurteau, Devin.Doucette
#rn Major Core

[CL 14814912 by Matt Peters in ue5-main branch]
2020-11-25 22:11:10 -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
Zousar Shaker
7b6269efb4 Enable package access tracking for use in cook-time dependency tracking.
#rb trivial

[CL 14629528 by Zousar Shaker in ue5-main branch]
2020-11-02 13:35:35 -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
Zousar Shaker
77d13185b7 Copying //UE5/Dev-Cooker@14539516 to Main (//UE5/Main)
[CL 14539954 by Zousar Shaker in ue5-main branch]
2020-10-21 17:56:05 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -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 zeigler
d2f2fc8c3a Remove several deprecated headers from 4.18 or earlier, these cause issues with symbol/file search
Remove gameplay framework and related CoreUObject code that was deprecated back in 4.18 or earlier
Properly deprecate soft object typedefs instead of removing them as they never had a full deprecation cycle
Skipped files that I know have pending changes from UE4 or appear to still be in use in some situations
#rb steve.robb

[CL 14359153 by ben zeigler in ue5-main branch]
2020-09-21 16:05:47 -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
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
devin doucette
0174be282a Added and used StringFwd.h for string builder and string view declarations
Including StringFwd.h in place of forward declarations offers more flexibility to change how these types are declared.

#jira none
#rb Steve.Robb
[RN] minor Core

#ROBOMERGE-SOURCE: CL 12235779 in //UE4/Release-4.25/... via CL 12235792
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v664-12234175)

[CL 12237495 by devin doucette in Main branch]
2020-03-17 20:03:03 -04:00
johan torp
1bc710cd9e Fixed wrong return type of rarely used ExportTextPathToObjectPath() overload
[FYI] JeanMichel.Dignard
#jira none
#rb none

#ROBOMERGE-SOURCE: CL 12230876 in //UE4/Release-4.25/... via CL 12230885
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v664-12234175)

[CL 12234733 by johan torp in Main branch]
2020-03-17 15:10:36 -04:00
ryan vance
02bb20415f Copy up from DS to Main
#rb CopyUp



#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ryan.vance
#ROBOMERGE-SOURCE: CL 12149088 via CL 12150247
#ROBOMERGE-BOT: (v659-12123632)

[CL 12150618 by ryan vance in Main branch]
2020-03-12 14:08:52 -04:00
johan torp
d4691afe2b Various engine init optimizations and new string conversion paths
* Added some core string conversion paths
* Added FString::Append() and += overloads to avoid pointless temporaries when appending c strings and various other string types
* Added UTF32 <-> TCHAR string conversion macros
* Optimized QuotedString parsing
* Optimized property parsing
* PackageName optimizations
* SoftObjectPath optimizations

#jira none
#rb see original changelists
#ushell-cherrypick of 11932317 by Johan.Torp
#ushell-cherrypick of 11932319 by Johan.Torp
#ushell-cherrypick of 11932321 by Johan.Torp
#ushell-cherrypick of 11932322 by Johan.Torp
#ushell-cherrypick of 11932324 by Johan.Torp
#ushell-cherrypick of 11932462 by Johan.Torp
#ushell-cherrypick of 11934123 by Johan.Torp
#ushell-cherrypick of 12000177 by Johan.Torp
#ushell-cherrypick of 12000183 by Johan.Torp
#ushell-cherrypick of 12114232 by Johan.Torp

#ROBOMERGE-SOURCE: CL 12147981 in //UE4/Release-4.25/... via CL 12147984
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v659-12123632)

[CL 12147986 by johan torp in Main branch]
2020-03-12 08:12:06 -04:00