- Refactor AssetViewUtils::LoadAssetsIfNeeded to take settings struct and return enum code.
- Allow cancelling when loading redirectors or when loading referencers.
- Use AssetViewUtils::LoadAssetsIfNeeded in asset view context menu a well as folder tree to unify progress/cancellation for both
[CL 32497979 by robert millar in 5.4 branch]
The UEFN sync feature calls SyncLatestFromSourceControl, which calls SyncPathsFromSourceControl and could potentially sync a lot of items at once.
By batching the force-load and reset-linkers steps, this operation became significantly faster.
#rnx
[CL 26457416 by wouter burgers in ue5-main branch]
The issue was that when moving folder A and B, where A has assets that depends on assets in B, we'd ask the asset registry for the B assets referencers and it was returning to original packages which are now a redirectors. We'd then try to patch soft object paths on a redirector instead of on an actual asset.
We now force a rescan of the moved folders so that the asset registry is up-to-date throughout the move folders process.
#jira UE-187092
#rb matt.peters, julien.stjean
#preflight 64779c080d55081f54a1eca0
[CL 25710991 by JeanMichel Dignard in ue5-main branch]
Moving an asset can replace the original asset with a redirector, so the source control system will consider the asset in the old location to be modified and the asset in the new location to be added.
#preflight 63e400085c0ce8f11b030df3
[CL 24090216 by stuart hill in ue5-main branch]
In addition, I refactored AssetViewUtils::SyncPathsFromSourceControl somewhat.
- Added alternative (preferred) way to get affected files/packages using the FSyncPreview operation as opposed to querying the AssetRegistry.
- Added support for hot reloading the world if one of its external packages (actor/object) got synced so those changes are reflected in the viewport.
- Added support for passing in either content paths or absolute paths to sync.
- Deprecated the 'bIsSyncLatestOperation' parameter from SyncPackagesFromSourceControl.
Note that SyncPackagesFromSourceControl now has a single internal caller (FAssetSourceControlContextMenuState::ExecuteSCCSync).
Note that SyncPathsFromSourceControl now has a single internal caller (FSourceControlWindows::SyncLatest).
[REVIEW]
#preflight 63e3a014244dc45a201c918d
[CL 24074948 by wouter burgers in ue5-main branch]
The following functions are new:
- ObjectPathToPathWithinPackage, eg) "/Game/MyAsset.MyAsset:SubObject.AnotherObject" -> "MyAsset:SubObject.AnotherObject"
- ObjectPathToOuterPath, eg) "/Game/MyAsset.MyAsset:SubObject.AnotherObject" -> "/Game/MyAsset.MyAsset:SubObject"
- ObjectPathToSubObjectPath, eg) "/Game/MyAsset.MyAsset:SubObject.AnotherObject" -> "SubObject.AnotherObject"
The behavior of ObjectPathToObjectName has also been fixed to always return the leaf-most object name within the path (eg, "/Game/MyAsset.MyAsset:SubObject.AnotherObject" -> "AnotherObject"). Any code that relied on the old behavior should use ObjectPathToSubObjectPath instead.
#preflight 63e2677e1020773a3f32f55b
#rb Matt.Peters
[CL 24057677 by jamie dale in ue5-main branch]
A scoped class is added to retain and restore all camera views which is used when we reload or sync packages.
#preflight 63d2766de55deff624ed1b5a
[CL 23867883 by stuart hill in ue5-main branch]
* Sync Latest no longer listing and reloading all packages when the source control provider provides a sync preview functionality. When a Sync Preview is available, Sync Latest unloads only the files that are going to be overwritten by the sync operation, and then reloads them and the world
* Refactored Revert All operation to improve performance
* Revert All no longer lists and reloads all packages when the source control provider provides a sync preview functionality. Instead it unloads only the files that may be overwritten by the revert operation (i.e. submittable files), and then reloads them and the world
* Replaced RevertAndReloadAllPackages with RevertAndReloadWorld, no longer listing and reloading all packages (see https://p4-swarm.epicgames.net/reviews/23244245/)
This review is a combination of the two archived reviews https://p4-swarm.epicgames.net/reviews/23736137 and https://p4-swarm.epicgames.net/reviews/23736282
#rb wouter.burgers, stuart.hill, brooke.hubert, francis.hurteau
#preflight 63c9c7786a00f3cc8ead6779
[CL 23796067 by marco anastasi in ue5-main branch]
If a sync with source control reloads the map then it will perform a camera reset.
We can improve the user experience by restoring the camera position and rotation to prevent the camera moving each time a user syncs.
#rb Marco.Anastasi, wouter.burgers
#preflight 637cbe28fa348e8480c94440
[CL 23235166 by stuart hill in ue5-main branch]
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch
#preflight 63635997876630122adeab9f
#rb none
[CL 22958990 by henrik karlsson in ue5-main branch]