Commit Graph

164 Commits

Author SHA1 Message Date
will brown
aa2ce737b0 Fixing a bug that occurs when creating a new plugin from a template containing .uasset files. It's possible for the plugin to fail to register if the post copy rename is triggered while the asset registry scan is still pending. The calling code assumes that the rename is synchronous however it can defer the operation and return. This puts the plugin in a bad state.
Showing the asset discovery dialog and preventing the plugin creation until the asset discovery is complete.

#rb Rex.Hill
#preflight 645008286538e45f75c38ccb

[CL 25292941 by will brown in ue5-main branch]
2023-05-01 17:48:02 -04:00
rex hill
4a9460be92 Add export class permission list
#preflight 643446394c3ccbbdf17e8269
#rnx
#rb dave.belanger

[CL 24994901 by rex hill in ue5-main branch]
2023-04-11 14:22:04 -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
jordan hoffmann
31d4eed6e5 Unshelved from pending changelist '24180955':
[CrashFix] Removed invalid check()
- when I made assets diffable against null I must've missed this. Easy fix.

#jira none
#preflight trivial
#rb dan.oconnor
#lockout julien.marchand

[CL 24186475 by jordan hoffmann in ue5-main branch]
2023-02-13 15:23:03 -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
alexis matte
a20c1131ce Change asset tools import extension support to FNamePermissionList instead of FString. This allow to control the permissions like all the other permission.
#rb jeanluc.corenthin
#preflight 63e24fad07207b2570b72285

[CL 24049361 by alexis matte in ue5-main branch]
2023-02-07 10:49:14 -05:00
alexis matte
b93fee971d Create a system to control which extension importer should support.
#rb jeanluc.corenthin
#rnx
#preflight 63d7eb4cba4fadeef006c7d7

[CL 23923306 by alexis matte in ue5-main branch]
2023-01-31 01:12:25 -05:00
alexis matte
b1473700b2 Add Import allowed asset types in the class path permission system.
#rb jeanluc.corenthin , jason.stasik
#rnx
#preflight 63d4292bbe1970f882362f3a

[CL 23895914 by alexis matte in ue5-main branch]
2023-01-27 19:26:17 -05:00
bryan sefcik
5798c36ed1 Added a missing circular dependency with AssetTools and UnrealEd.
Updated AssetTypeActivationOpenedMethod.h to include the generated.h.
#preflight 63d2beb85354589b5c70adb5

[CL 23871556 by bryan sefcik in ue5-main branch]
2023-01-26 13:19:09 -05:00
nick darnell
e6dc94a38f AssetDefinition - Fixing filter categories to include everything that hasn't yet been converted to a Asset Definition.
AssetDefintiion - Converted more blueprint / Animation blueprint stuff over to be an asset definition.

#jira UE-165574

[CL 23804692 by nick darnell in ue5-main branch]
2023-01-21 21:00:48 -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
nick darnell
58645cbc15 Editor Performance - Fixing a long standing issue with asset thumbnails, they've been loading the assets for a pretty long time now, because of the thumbnail editing mode. Note that thumbnail editing mode was not needed to be enabled and yet the asset would still load. This was a cause for a lot of hitches in the Content Browser.
AssetDefinition - Working on the asset definitions for blueprints/class types, iterating on the Merge API.  Bringing over more of the blueprint features into its asset definition, unregistered the Blueprint AssetType Actions.

Asset Filters - We now support categories per filter, this enables a single asset definition to correctly specify multiple filters.  For example, blueprints actually supply 4 filters, one for blueprints, but also blueprint interfaces, macros and function libraries.

[CL 23791489 by nick darnell in ue5-main branch]
2023-01-20 11:49:23 -05:00
dj schilens
6548d72e8c Advanced Copy - Optional callback when copy is complete, and expose to blueprints
* Adds a new delegate for when AdvancedCopy is complete (since Advanced Copy is async and can't return the results directly)
* Adds a new blueprint callable overload for AdvancedCopy in the AssetTools interface that optionally takes this callback

[REVIEW] [at]matt.peters [at]brooke.hubert

[CL 23781823 by dj schilens in ue5-main branch]
2023-01-19 17:12:52 -05:00
nick darnell
7c56e6c4d1 AssetDefinition - Upgrading several skeletal and animation assets to be asset definitions. Had to upgrade a few utilities that were causing the assets to still load.
#jira UE-165574

[CL 23781708 by nick darnell in ue5-main branch]
2023-01-19 17:09:58 -05:00
nick darnell
ae774ca1eb AssetDefinition - Upgrading the Data/Curve tables to use the new AssetDefinition.
AssetDefinition - Changing how getting the SourceFiles works a bit, wanted it to be easier to just get the real data and not have to wrap it myself, and also to not need to needlessly put it into a container if it's not needed.

#jira UE-165574

[CL 23686064 by nick darnell in ue5-main branch]
2023-01-13 16:11:10 -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
nick darnell
3e81121a50 AssetDefinition - "UV Editor" plugin's option no longer hides if it won't work (determining it requires loading the assets), so it's just going to determine that when you fire it and fire a notification if it wont work.
AssetDefinition - Skeleton
AssetDefinition - SkeletonMesh
AssetDefinition - StringTable

#jira UE-165574

[CL 23658411 by nick darnell in ue5-main branch]
2023-01-11 20:52:36 -05:00
julien stjean
8b4de387d0 The migration can now change the writing permissions temporally to save the migrated assets.
The migration also now report in its callback the dependencies that where not exported because of the new filtering of the assets that can be migrated.
Fixed some other issues like a crash and a bad event broadcast.

#preflight 63bc235c763c6c10641898bb
#rb JeanLuc.Corenthin

[CL 23617167 by julien stjean in ue5-main branch]
2023-01-09 13:51:05 -05:00
marc audy
ea78b28a70 Fixed so all headers can be compiled stand alone
#preflight 63b529e5592c1a9d7c665974
#rb none

[CL 23580295 by marc audy in ue5-main branch]
2023-01-04 15:49:53 -05:00
nick darnell
1c90989c93 AssetDefinition - Further work, adding Materials and associated types as AssetDefinitions, removing their AssetTypeActions.
AssetActionUtility Blueprints - You can now add a further refinement step in addition to a class filter you can specify Content Browser style filter strings and an error message so that people can see the scripted action, but will know why it's not available to them.  Like maybe you have a thing that only can run on non virtual texture streaming assets, you could filter on that tag inaddition to the texture class.

#jira UE-165574

[CL 23580250 by nick darnell in ue5-main branch]
2023-01-04 15:48:50 -05:00
nick darnell
9e765542af Editor - Fixing an ASan bug in the category paths, need to declare them statically so that the compiler doesn't free the list too early.
Editor - Upgrading the Texture AssetTypeActions to be AssetDefinitions.

#jira UE-169989
#jira UE-165574

[CL 23121796 by nick darnell in ue5-main branch]
2022-11-14 13:18:14 -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
jared cotton
5550406045 Fix for errors in https://horde.devtools.epicgames.com/job/635beeaae24ac41a63dee15a being caused in UE5-Main
#preflight none

[CL 22835905 by jared cotton in ue5-main branch]
2022-10-28 15:39:01 -04:00