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]
Moved functionality from the EditorLevelLibrary into the LevelEditorSubsystem, UnrealEditorSubsystem, EditorActorSubsystem and StaticMeshEditorSubsystem
#jira UE-77334
#rb lauren.barnes, francis.hurteau, brooke.hubert
#fyi chris.gagnon
[CL 13934034 by aditya ravichandran in ue5-main branch]
- Fix a comparison bug in VHACD Volume::Voxelize causing the number of voxels to explode when x == y and z < x.
- Activate axis alignment in VHACD to fix huge voxels being created due to an elongated part being placed diagonally in the voxel space causing precision problems.
- Make the data ordering in vhacdVolume GetVoxel more cache friendly toward loops iterating over (i,j,k) in that order.
- Parallelize bulk convex hull computation and make it available in blueprint.
- Replace standard allocator with our own (TBB) so that the parallel code actually runs faster instead of locking on allocs.
- Add an overridable task runner interface in VHACD to reuse our task pool instead of spawning threads for each async task.
- Add an overridable profiler interface in VHACD so we can add Insights tags inside VHACD.
- Fix convex hull computation progress not being shown when run inside a dataprep operation.
- Rewrite voxel flood fill algorithm toward cache friendliness and get rid of extra data structure causing high memory usage on large voxels.
- Recompile VHACD using clang/llvm
Results for running a generic convex hull dataprep operation on all meshes
- 305m [at] 20GB RAM -> 2m25s [at] 6GB RAM on 7628 meshes (DATASET-0019a)
- 486m [at] 49GB RAM -> 3m33s [at] 9GB RAM on 5506 meshes (DATASET-0008a)
Tested on Windows/Mac/Linux
From dev-enterprise[at]11497987
#jira UEENT-3026
#rb Benn.Gallagher, Julien.St-Jean
#ROBOMERGE-SOURCE: CL 11499409 in //UE4/Release-4.25/...
#ROBOMERGE-BOT: RELEASE (Release-4.25 -> Release-4.25Plus) (v654-11333218)
[CL 11499434 by danny couture in 4.25-Plus branch]