Commit Graph

780 Commits

Author SHA1 Message Date
nick darnell
1fb352a6df AssetDefinition - Converting AssetTypeActions_StaticMesh to an AssetDefinition. The StaticMesh didn't previously encode if it had a highres mesh into its asset tags, so now it does, however since that wont be on old meshes, I'm going to include the menu options if I can't tell if it does or does not.
[CL 23157684 by nick darnell in ue5-main branch]
2022-11-16 13:20:46 -05:00
nick darnell
e85b0cd48c AssetDefinition - This is the seed of a long term replacement of IAssetTypeActions. IAssetTypeActions is woefully inadiquit now. It puts a lot of functionality in one place, which wouldn't be a terrible thing, except for the GetActions, and some of the menu stuff being built into this class. We need to make an effort to not have to load every single asset just to open the context menu you have selected, to-wit, a previous CL made it so that summoning the menu no longer *Had* to load the assets, however several remaining issues remained with the Blueprint Utility Actions, and the fact that we don't "KNOW" if we need to call GetActions for an asset. We could introduce a replacement in the class, but that would just get inherited, causing other issues. So instead the parallel UObject based AssetDefinition now exists. In large part it will probably be very similar to the other one, but several things in it probably need to chnage. For now there is a bridging concept in the form of the AssetDefinitionAssetTypeProxy.
Several amounts of effort went into the newer design of UAssetDefinition to make it easier to change over time, more things are structs now for input and output so additional parameters can be added.

AssetDefinition module is an editor module instead of being a developer module.
AssetDefinition does not include a myraid of things it shouldn't such as the blueprint module and UnrealEd.

#jira UE-165574
#preflight 636c0ec4d0174259cca85e37

[CL 23083536 by nick darnell in ue5-main branch]
2022-11-10 13:13:41 -05:00
bob tellez
635e0d776e [Backout] - CL23068129 and 23069638
[FYI] Nick.Darnell
Original CL Desc
-----------------------------------------------------------------
AssetDefinition - This is the seed of a long term replacement of IAssetTypeActions.  IAssetTypeActions is woefully inadiquit now.  It puts a lot of functionality in one place, which wouldn't be a terrible thing, except for the GetActions, and some of the menu stuff being built into this class.  We need to make an effort to not have to load every single asset just to open the context menu you have selected, to-wit, a previous CL made it so that summoning the menu no longer *Had* to load the assets, however several remaining issues remained with the Blueprint Utility Actions, and the fact that we don't "KNOW" if we need to call GetActions for an asset.  We could introduce a replacement in the class, but that would just get inherited, causing other issues.  So instead the parallel UObject based AssetDefinition now exists.  In large part it will probably be very similar to the other one, but several things in it probably need to chnage.  For now there is a bridging concept in the form of the AssetDefinitionAssetTypeProxy.

Several amounts of effort went into the newer design of UAssetDefinition to make it easier to change over time, more things are structs now for input and output so additional parameters can be added.

AssetDefinition module is an editor module instead of being a developer module.
AssetDefinition does not include a myraid of things it shouldn't such as the blueprint module and UnrealEd.

#jira UE-165574
#preflight 636c0ec4d0174259cca85e37

[CL 23072024 by bob tellez in ue5-main branch]
2022-11-10 01:18:44 -05:00
nick darnell
fd6f4a29b1 AssetDefinition - This is the seed of a long term replacement of IAssetTypeActions. IAssetTypeActions is woefully inadiquit now. It puts a lot of functionality in one place, which wouldn't be a terrible thing, except for the GetActions, and some of the menu stuff being built into this class. We need to make an effort to not have to load every single asset just to open the context menu you have selected, to-wit, a previous CL made it so that summoning the menu no longer *Had* to load the assets, however several remaining issues remained with the Blueprint Utility Actions, and the fact that we don't "KNOW" if we need to call GetActions for an asset. We could introduce a replacement in the class, but that would just get inherited, causing other issues. So instead the parallel UObject based AssetDefinition now exists. In large part it will probably be very similar to the other one, but several things in it probably need to chnage. For now there is a bridging concept in the form of the AssetDefinitionAssetTypeProxy.
Several amounts of effort went into the newer design of UAssetDefinition to make it easier to change over time, more things are structs now for input and output so additional parameters can be added.

AssetDefinition module is an editor module instead of being a developer module.
AssetDefinition does not include a myraid of things it shouldn't such as the blueprint module and UnrealEd.

#jira UE-165574
#preflight 636c0ec4d0174259cca85e37
[REVIEW]

[CL 23072002 by nick darnell in ue5-main branch]
2022-11-10 01:17:07 -05:00
Thomas Sarkanen
d9c2b172f7 Skeleton compatibility improvements
Skeleton compatibility is now bi-directional. Specifying a compatible skeleton A -> B now implies B -> A.
Skeleton compatibility is now an editor-only concern. The runtime will attempt to do the 'best it can' via name -> name mappings. Only the editor will prevent assigning incompatible skeletons in (e.g.) asset pickers etc.
Skeleton compatibility checks in editor can now be disabled in the editor preferences (and each asset picker now has a checkbox option in its view settings that allows for quick access to this).

Moves FSkeletonRemapping to its own file (which is now private).
Skeleton remappings are now generated on demand on worker threads just before animation decompression and stored in a registry, guarded by FRWScopeLock for thread-safety.

Fixed some anim BP compiler edge cases where asset references on pins were not getting preloaded correctly, causing skeletons to be erroneously reported as missing.

Exposed the current asset registry filter in SAssetView so that menu extensions can access it (and use it to provide context)

#jira UE-166054
#jira UE-167355
#rb Jurre.deBaare,John.vanderBerg
#preflight 635902602e6690262afa86f9

[CL 22878911 by Thomas Sarkanen in ue5-main branch]
2022-11-01 06:25:59 -04:00
jason stasik
82f31afa1b Add cvar to hide ability to add searches as collections
#rb aditya.ravichandran
#preflight 636040c1c6242f88a4b94e82

[CL 22876445 by jason stasik in ue5-main branch]
2022-10-31 21:23:27 -04:00
nick darnell
e90951a442 Editor - Blutility - AssetActionUtilities and ActorActionUtilties no longer load on right click in the Content Browser. Their information is now cached in tag data and we don't load them for real until we actually run the menu options. The GetSupportedClass() has been deprecated, there is now an array of classes you can provide in the Class Defaults. We will now exclude blutilities in developer folders that are not yours.
This is part 1 of a larger refactor to try and stop loading content on right click in the content browser.


#jira UE-165574

[CL 22865625 by nick darnell in ue5-main branch]
2022-10-31 12:40:48 -04:00
jared cotton
db9180da10 Re-submission of 'view' method for AssetEditing (aware of merge issues that will arise in 23.00 and ready to resolve. Also ready with fix for issue that will arise when CL hits /Fortnite-Main in GLTFProxyAssetActions.h)
#rb Stanley.Hayes
#rb Jamie.Dale
#rb Jason.Stasik
#rb Yiliang.Siew
#preflight 635205e49e14ee3c7969c9bf

Iteration on Jason Stasiks CL 17314610. This is a minimal version of CL 17314610 which adds a 'view' method to AssetTypeActions which is now attempted whenever an activated item's 'edit' attempt fails.

The matching CL for the restricted FAssetTypeActions_VerseClass changes is 22472079.

[CL 22823595 by jared cotton in ue5-main branch]
2022-10-28 00:33:58 -04:00
nick darnell
8b48634e45 Editor - Fixing a Context Menu regression. The old code did not in fact load everything always, there was a carveout for WP levels, to prevent them from loading by using AssetViewUtils::LoadAssetsIfNeeded, which prevented loading those assets in particular. So I've corrected the fallback code to no longer load everything before returning the selected assets they now return the results of AssetViewUtils::LoadAssetsIfNeeded as was previously the case. There are also now overloads for loading assets that take load tags on the context menu context.
[REVIEW] [at]Patrick.Enfedaque

[CL 22810706 by nick darnell in ue5-main branch]
2022-10-27 11:20:49 -04:00
bob tellez
3dec1bb8cb [Backout] - CL22782944
[FYI] jared.cotton
Original CL Desc
-----------------------------------------------------------------
Addition of 'view' method to AssetTypeActions

#rb Stanley.Hayes
#rb Jamie.Dale
#rb Jason.Stasik
#rb Yiliang.Siew
#preflight 635205e49e14ee3c7969c9bf

Iteration on Jason Stasiks CL 17314610. This is a minimal version of CL 17314610 which adds a 'view' method to AssetTypeActions which is now attempted whenever an activated item's 'edit' attempt fails.

The matching CL for the restricted FAssetTypeActions_VerseClass changes is 22472079.

[CL 22803476 by bob tellez in ue5-main branch]
2022-10-26 23:17:50 -04:00
dave belanger
e11f56ceb2 IContentBrowserSingleton delegate to control whether the public/private state can be changed on a given asset
#rb Scott.Nelson
#preflight 635899e4555771b141aab074

[CL 22803463 by dave belanger in ue5-main branch]
2022-10-26 23:17:13 -04:00
jared cotton
a53b15247b Addition of 'view' method to AssetTypeActions
#rb Stanley.Hayes
#rb Jamie.Dale
#rb Jason.Stasik
#rb Yiliang.Siew
#preflight 635205e49e14ee3c7969c9bf

Iteration on Jason Stasiks CL 17314610. This is a minimal version of CL 17314610 which adds a 'view' method to AssetTypeActions which is now attempted whenever an activated item's 'edit' attempt fails.

The matching CL for the restricted FAssetTypeActions_VerseClass changes is 22472079.

[CL 22803451 by jared cotton in ue5-main branch]
2022-10-26 23:16:25 -04:00
rex hill
1531c21230 Expose SelectedPackagePaths on ContentBrowserFolderContext
#preflight skip
#rnx

[CL 22717118 by rex hill in ue5-main branch]
2022-10-23 21:59:16 -04:00
rex hill
b338048e9a Remove a duplicate function
#rnx
#preflight skip

[CL 22716552 by rex hill in ue5-main branch]
2022-10-23 21:18:11 -04:00
rex hill
edeee75045 Post merge fixup
#rnx

[CL 22716272 by rex hill in ue5-main branch]
2022-10-23 21:02:56 -04:00
rex hill
b64e1b5eca Add SelectedAssets to content browser in a stream. Ignore these changes during merge conflict.
#preflight skip
#rnx

[CL 22716261 by rex hill in ue5-main branch]
2022-10-23 21:02:47 -04:00
marco anastasi
9d30e5f3ac Fixed bug with the way used to determine whether a source control provider uses a custom project base directory
#rb wouter.burgers, stuart.hill
[FYI] patrick.laflamme
#preflight 634e8c558c653695a7a8b2f0

[CL 22604838 by marco anastasi in ue5-main branch]
2022-10-18 13:16:32 -04:00
wouter burgers
2a2222ade7 SourceControl: Generalized the 'checked out by other' text in the AssetBrowser tooltip to a 'source control text'.
In essense, this was already true because 'FPerforceSourceControlState::GetDisplayTooltip()' would return the 'IsConflicted' or '!IsCurrent' text before considering the 'IsCheckedOutByOther' text, so the tooltip would potentially already contain warning texts.

#preflight 634d26a79c29024c9819df27

[CL 22595449 by wouter burgers in ue5-main branch]
2022-10-18 04:42:35 -04:00
marc audy
927adb79be Correct deprecation versions
#preflight trivial
#rnx

[CL 22573046 by marc audy in ue5-main branch]
2022-10-17 15:13:35 -04:00
nick darnell
954d29b9f5 Editor - Beginning the process to no longer make loading all assets you right click in the content browser. The first step, is setting up the code to have a deprecation flag DEPRECATE_ASSET_TYPE_ACTIONS_NEEDING_LOADED_OBJECTS, this will make it illegal to implement GetActions on all AssetTypeAction implementations. Checked in disabled, enable it locally to begin trying to implement the recommended method detailed in the IAssetTypeActions header. WIP. One of the things this change does is outlaw (regardless of deprecation) the HasActions() function, this function is no longer used at all, and so we may as well remove its implementation, it also works well as a canary in finding other samples and things that need to be upgraded.
#jira UE-165574
[REVIEW] [at]Rex.Hill, [at]Lauren.Barnes
#preflight 63483c43ad0f7e2f20e44910

[CL 22534452 by nick darnell in ue5-main branch]
2022-10-14 16:59:41 -04:00
patrick laflamme
878d1ae127 Instrumented source control upcate callbacks with with cpu scopes for monitoring performances.
Optimized Collection code invoked at each source control update to avoid comparing large set to detect if the in-memory collection is different from the collection on disk.

#rb Julien.StJean
#preflight 6346e2cf663dafe4162e8c9e

[CL 22505265 by patrick laflamme in ue5-main branch]
2022-10-13 11:24:42 -04:00
julien stjean
d07fffc8e0 Fixed a couple of operations in the asset view contextual menu that would only work on the selected folders when the selection contains both asset items and folder items.
This don't resolve all issue with these operations since some of them should also work with items that are not created by the ContentBrowserAssetDataSource, but this is still better then what we currently have

Here are the fixed operations.
Fix Up Redirectors
Migrate...
Source Control -> Check out
Source Control -> Mark For Add
Source Control -> Check In
Source Control -> Sync

#jira UE-166221
#preflight 633f1f0b587d6afac81aea87
#rb jamie.dale
#lockdown jeanmichel.dignard

[CL 22388941 by julien stjean in ue5-main branch]
2022-10-06 20:13:54 -04:00
aditya ravichandran
d4e688d216 Content Browser: Fix an issue where hiding favorites would not collapse the area, and just leave behind empty and unusable space
#jira UE-166189
#rb Lauren.Barnes
#preflight 633eef82b7327403d9a24392
#lockdown jeanmichel.dignard

[CL 22388846 by aditya ravichandran in ue5-main branch]
2022-10-06 20:10:44 -04:00
Dave Belanger
453d3b16dd UE::Core::FVersePath added.
New asset tag added for vpaths, displayed in the content browser.

#rb dave.belanger
#preflight 63330acea4769ad714f8ea2d

[CL 22228539 by Dave Belanger in ue5-main branch]
2022-09-28 15:09:48 -04:00
marco anastasi
dd01cd42b5 Create shortcut buttons in Status Bar for Skein operations
#rb wouter.burgers, patrick.laflamme
#preflight 63301d3d665f6b8f7fab0066


RESOLUTION: Resolved conflict with IsAtLatestRevision() and GetNumLocalChanges()

[CL 22193646 by marco anastasi in ue5-main branch]
2022-09-26 16:32:49 -04:00