The original code was trying to build the path to the object without resolving it, but that seems impossible with redirectors, etc.
#rb zousar.shaker
#fyi semion.piskarev, ben.zeigler
#preflight 62acb7695d5264997e21fbfc
#rnx
[CL 20706268 by JeanFrancois Dube in ue5-main branch]
#rb Per.Larsson
#rnx
#preflight 62ab39985c69124c4082aad6
- Ideally the VA tool would not need to deal with this like package mount points (the less project/plugin set up, the faster the tool can run) so we want to move back towards using file paths rather than FPackageNames to reference things where possible. Since virtualization does not need to do anything with the package data itself we can somewhat ignore a lot of Unreal conventions and treat the package files as just files that happen to have a package trailer on the end.
- The package builder was previously storing the name of it's package via an FName and converting it to a string when we needed to print a message. Now we store a generic FString of 'debug context' instead which can be anything.
- Although it is unlikely that anyone is using the FName overloads externally we need to deprecate them rather than just delete them.
#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 20699797 via CL 20699804 via CL 20699806
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v968-20684695)
[CL 20699936 by paul chipchase in ue5-main branch]
Fix the underlying problem for the workaround in 19840451.
#jira FORT-456060
#rb carlmagnus.nordin
#robomerge EngineMerge
#rnx
#preflight 62a983aa3774a57fdc4f07f5
[CL 20666261 by PJ Kack in ue5-main branch]
Adds support for most of the remaining LWC math types (eg: FVector4). Note that FVector2D and FBox2D are currently disabled. Their corresponding double variants have FName collisions with the primary variant names, which needs to be addressed separately.
Some cleanup was also added that reroutes all conversion through a common function, ConvertType. This alleviates the need for separate conversion functions for each type.
#jira UE-151338
#rb andrew.davidson
#preflight 62a3b355f87ec0b3c8a26cf5
[CL 20652370 by dave jones2 in ue5-main branch]
Merge loaded package store with global import store
Use global import store to keep track of pinned exports instead of relying on FindObjectWithOuter
#preflight 62a876325d0f5c5aab6d380c
#rb pj.kack
[CL 20645631 by CarlMagnus Nordin in ue5-main branch]
NotifyRegistrationEvent:
Remove all NRP_Started events since they add no value.
Move the NRP_Finished event for type NRT_Class from InitializePrivateStaticClass (Class.cpp) to UObjectLoadAllCompiledInDefaultProperties (UObjectBase.cpp) since this is where the outer registration function for the class is actually executed.
Add a new NRT_NoExportObject event in ConstructUPackage for top level noexport objects like UScriptStruct, UDelegateFunction and USparseDelegateFunction that are just part of the package and has no registration info.
AsyncLoader:
Move EDLBootNotificationManager from AsyncPackageLoader to AsyncLoading.
Add FEarlyRegistrationEventsRecorder to replay early events that occur before the loader is created.
AsyncLoading:
Ignore the new NRT_NoExportObject event.
Allow for objects to skip the NRP_Added and NRP_Started phases.
AsyncLoading2:
Remove LazyInitializeFromLoadPackage and the reading and parsing of the ScriptObjects binary blob.
Remove FindScriptImportObjectFromIndex/GFindExistingScriptImport that was dependent on the ScriptObject blob, instead all script objects are added to the global import store directly from the notification system callbacks.
Change GetUnresolvedCDOs logic to check for imported classes with missing or not-yet-initialized CDOs.
Add FAsyncPackageDesc2::ReferencerRequestId to let each package track its most recent load package request referencer.
Change ProcessPendingCDOs logic to avoid recursive reentrancy and to process the most relevant CDOs first, based on the new ReferencerRequestId.
Tests:
Lyra: Editor, Runtime EDL and Zen loader on Win64 and Console
ShooterGame: Editor, Runtime EDL and Zen loader on Win64 and Console
AncientGame: Editor, Runtime EDL and Zen loader on Win64
Other: Editor, CookedEditor, Runtime EDL and Zen loader on Win64 (client and server)
#jira none
#rb carlmagnus.nordin
#robomerge EngineMerge
#rnx
#preflight 62a84ba7cf54a658eeffc200
[CL 20643384 by PJ Kack in ue5-main branch]
Update DiffAssetRegistriesCommandlet to including searching for files specified by full path on any project.
#rnx
#rb Marcus.Wassmer
[REVIEW] Robert.Manuszewski
#preflight 62a79e0ef017fed6d24e607d
#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 20635399 via CL 20635481 via CL 20635515
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)
[CL 20639081 by matt peters in ue5-main branch]
Change summary:
- Modified UObject::PostLoadSubobjects() to allow subobject instancing on targets that do not require cooked data (i.e. targets that include editor-only data).
- Reverted 20563066 (temp fix that also needed to be backed out in order for editor-only subobject instancing paths to function properly).
#rb Dave.Belanger
[FYI] CarlMagnus.Nordin
#preflight 62a3a9fea76bc5b5cacf4a54
#ROBOMERGE-OWNER: phillip.kavan
#ROBOMERGE-AUTHOR: phillip.kavan
#ROBOMERGE-SOURCE: CL 20603539 via CL 20605001 via CL 20606273 via CL 20606326
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)
[CL 20606704 by phillip kavan in ue5-main branch]
#rb Andrew.Scheidecker
#rnx
#preflight 62a2e55a6c6cbbd8ca78eb21
- MinAlignmentLogTwo is being stored as uint8 and the only place in code passing in that parameter does so as a uint8 so we can just change the parameter data type to match.
[CL 20590701 by paul chipchase in ue5-main branch]