Commit Graph

49 Commits

Author SHA1 Message Date
wouter burgers
ce947ddbd0 SourceControl: Optimized SyncPackagesFromSourceControl and SyncPathsFromSourceControl for larger volumes.
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 26456417 by wouter burgers in 5.3 branch]
2023-07-19 06:20:31 -04:00
rex hill
b60e183d4a [Content Browser] Fix Clear Thumbnail not working if asset not already loaded into memory.
#rb jamie.dale

[CL 25796920 by rex hill in ue5-main branch]
2023-06-05 13:25:01 -04:00
JeanMichel Dignard
e2515d259e Fixed asset rename not updating the soft object paths for packages that were just renamed and left a redirector.
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]
2023-05-31 15:30:56 -04:00
bob tellez
ff7f38f59e #UE Internal, in-UE-root, gamefeatureplugins no longer pad their GameName to 20 characters to prevent filepath length limits from being exceeded. This rule was added to allow plugins to be used in other projects that may have a longer name, but GameFeaturePlugins cannot be used in other projects, since they depend in /Game/ and project-level modules
[CL 25461958 by bob tellez in ue5-main branch]
2023-05-12 19:27:07 -04:00
bob tellez
d10ce6ed57 #UE Update internal buildmachine root path in cooking filepath length calculation
[CL 25458637 by bob tellez in ue5-main branch]
2023-05-12 16:02:39 -04:00
Julien StJean
e9dbd9fb66 [EIS] Minor improvement to the error messaging when renaming an asset.
#jira UE-106770
#preflight 64342ff585398c090c3fc4b4
#rb lauren.barnes

[CL 25007411 by Julien StJean in ue5-main branch]
2023-04-12 10:57:26 -04:00
wouter burgers
8ff2c6c41f SourceControl: Add start/finish delegates to AssetViewUtils sync operations.
[REVIEW] [at]dave.belanger, [at]manuel.lang, [at]brooke.hubert
#preflight none

#localization none
#tests manual

[CL 24412834 by wouter burgers in ue5-main branch]
2023-02-24 19:03:48 -05:00
stuart hill
60cdf1962c When moving an asset to a different folder in the Editor, do not show the "Check Out Assets" dialog if the Automatically Checkout on Asset Modification option is selected.
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]
2023-02-08 22:01:06 -05:00
wouter burgers
0aa122ff5c SourceControl: Added notification if sync fails when getting latest, similar to the warning shown by FSourceControlWindows::PromptForCheckin for checkin fails.
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]
2023-02-08 12:17:26 -05:00
jamie dale
5fa5b98920 Added additional FPackageName::ObjectPathToX functions
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]
2023-02-07 15:29:21 -05:00
wouter burgers
192829d351 SourceControl: Refactored UsesCustomProjectDir / GetSourceControlLocations usage pattern.
[CL 23965223 by wouter burgers in ue5-main branch]
2023-02-02 03:44:18 -05:00
stuart hill
df6df596f7 Ensure the camera does not reset when we are syncing or reverting a file or all files via source control
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]
2023-01-26 10:15:04 -05:00
marco anastasi
96fdec112c Fixed: SkeinUE does not sync latest if only non-package files have changed
[REVIEW] [at]manuel.lang, [at]wouter.burgers

[CL 23821510 by marco anastasi in ue5-main branch]
2023-01-23 16:16:19 -05:00
marco anastasi
b29f599449 * Refactored Sync Latest operation to improve performance
* 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]
2023-01-20 15:31:16 -05:00
Patrick Boutot
6e02de5817 Fix memstomp with color picker. Prepare SColorPicker for API change. Update AssetViewUtilis::PathColors to use FLinearColor instead of shared pointer. The shared pointer was only needed for the SColorPicker.
#jira UE-173303, UE-173454
#review-23672715 23617361,23611673
#rb daren.cheng
#preflight 63c0b12b1a06fc61059f2fa3

[CL 23672712 by Patrick Boutot in ue5-main branch]
2023-01-12 20:33:08 -05:00
wouter burgers
591eb1d989 SourceControl: Applied fix to AssetViewUtils::SyncPackagesFromSourceControl which was previously applied to AssetViewUtils::SyncPathsFromSourceControl in #20222478.
#preflight none

[CL 23475564 by wouter burgers in ue5-main branch]
2022-12-11 23:21:26 -05:00
stuart hill
9311376d2d Add the process of storing and restoring the camera location and rotation when source control is syncing packages
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]
2022-11-22 10:05:36 -05:00
henrik karlsson
fa90b399a4 Added includes for future change. This changelist only contains added #include and a couple of empty placeholder files
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch

#preflight 63635997876630122adeab9f
#rb none

[CL 22958990 by henrik karlsson in ue5-main branch]
2022-11-03 14:18:47 -04:00
christian savoie
adba372f50 Move Source control menu bindings into AssetManagerEditor so they appear on all menus that operate on assets (i.e. Asset menu in editors).
* Force uncached status update if any items in selected aren't up-to-date
* Removed Refresh option since it's done every time the menu is opened
* Make Source control menu update state asynchronously so menu doesn't stall
* Update Checkout to Sync and Checkout so it can all be done at once
* Add Partial Checkout state when files are selected and show users locking files in tooltip
* Add options to Make Writeable and Revert Writeable
* Add error state if source control is unavailable
* Hide options, like checkout, that are not available for the current SCC provider
* Always show all options so users can learn bettern muscle memory
* Add Warning when doing any source control option on selections larger than 25 (currently hardcoded)
* There's still some slight difference in behavior between file and folder selection. If only files are selected the async update will not show any options availabe until the full scan is done and there are some additional features like partial checkout. If there are any folders then options become available the moment one asset is available for an action.

#tests Tested all button scenarios, tested small and large sets of folders, assets and a mix.

[CL 22918013 by christian savoie in ue5-main branch]
2022-11-02 11:47:25 -04:00
dave belanger
6480013ab3 FResultMessage cleanup
#rb Scott.Nelson
#preflight 635aa14e4710dd6af8575766

[CL 22823551 by dave belanger in ue5-main branch]
2022-10-28 00:30:20 -04:00
JeanFrancois Dube
ae4e553a4b Convert usage of GIsEditorLoadingPackage to TGuardValue.
#jira none
#rb sebastien lussier
#preflight 633ad2ea2a5690003a0e03f4

[CL 22298365 by JeanFrancois Dube in ue5-main branch]
2022-10-03 08:33:10 -04:00
scott nelson
b0eb92d8b4 Add new EditorDelegate OnPreAssetDestructiveAction
#preflight 63349d8e141f314ed6017ae3
#rb Julien.StJean

[CL 22244134 by scott nelson in ue5-main branch]
2022-09-29 02:24:24 -04:00
robert millar
f278cf318f FNames containing asset paths are deprecated. FSoftObjectPath or FTopLevelAssetPath should be used instead.
Fixups for AssetTools.

#jira UE-161932
#rb none
#preflight 631f7fce5f25b56420615fc1

[CL 21976429 by robert millar in ue5-main branch]
2022-09-12 19:54:11 -04:00
jamie dale
1cac2e67c1 Fixed incorrect cook path length for plugins mounted from outside of the engine/project directory, and removed a bunch of temporary FString instances
#preflight 62d89ca4110da0f944819d32
#rb Jason.Stasik
#rnx

#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 21199916 via CL 21200683 via CL 21200747 via CL 21200772
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21202831 by jamie dale in ue5-main branch]
2022-07-21 12:27:36 -04:00
marc audy
0edc19c939 Duplicating assets should keep a perforce relationship to the original file
#rb Brooke.Hubert
#jira

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 21119014 via CL 21119416 via CL 21119491
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21142516 by marc audy in ue5-main branch]
2022-07-17 22:46:56 -04:00