Commit Graph

348 Commits

Author SHA1 Message Date
julien stjean
10402eed8a Fixed a crash when canceling an asset migration. When moving back the packages to their original path there could be some packages left from the migration.
#jira UE-215128
#rb Alexis.Matte

[CL 33860163 by julien stjean in ue5-main branch]
2024-05-23 09:35:57 -04:00
alexis matte
52a47b3637 AssetTools: Add a IAssetTools::SanitizeName function. Interchange call the new sanitize code API when sanitizing a name, not when sanitizing a path.
#jira UE-215108
#rnx
#rb Dave.Belanger, JeanLuc.Corenthin

[CL 33791465 by alexis matte in ue5-main branch]
2024-05-21 08:37:48 -04:00
logan buchy
f1fc87f369 Unregister AssetDefinitions from registry
* Sync function was not taking into account unregistered AssetDefinitions - the fix is to iterate the AssetTypeActions also and find corresponding AssetDefinitions and remove if there is none.
* SAssetFilterBar caches AssetDefinitions - added a notification for when the AssetDefinitionRegistry changes.  Put the broadcast on a one-shot ticker instead of directly calling as the Register/Unregister can occur frequently.  Breaks up the callback depth.
* Added a "Version" to AssetDefinitionRegistry as clients were using the number of assets as a version. This can fall over if there is an Add and Remove between two calls to GetAllAssetDefinitions.

#jira UE-213686
#rb aditya.ravichandran, jered.mcferron

[CL 33704087 by logan buchy in ue5-main branch]
2024-05-16 18:41:47 -04:00
dominic couture
3518e1ace4 Iterate over migrated packags and do WorldCleanup() on found world. This is necessary to avoid various issues iwht Unitialization() in the BeginDestroys() of world subsystems.
#jira UE-214541
#rb JeanFrancois.Dube, Julien.StJean

[CL 33639981 by dominic couture in ue5-main branch]
2024-05-14 19:28:16 -04:00
andrew phillips
376f5c1ac6 Added Genoration of patching rule for source project that have a _[0-9]+ style suffix for header patching
AssetTools.cpp is the substance for this fix.
ValkyrieProjectManager and DuplicatePluginCommandlet are for testing on Horde.


#rb Francis.Hurteau

[CL 33573769 by andrew phillips in ue5-main branch]
2024-05-10 09:53:58 -04:00
julien stjean
ba4abe419f When importing an asset never force a content browser sync if the caller didn't want a sync.
This fix an issue where the import of an asset pack would cause one of the CB to loose its setting because the tab was open to early in the engine boot cycle.

#jira UE-212259
#rb Alexis.Matte

[CL 33546452 by julien stjean in ue5-main branch]
2024-05-09 11:04:17 -04:00
liz barrett
4f96eed56b Updated ExportAssets to include option for using CleanFileName as the file name
This changelist adds a new function to asset tools in order to export assets using their clean file name. Without this change, the assets are exported to their desired destination -- but the asset is copied over nested in it's entire existing path

I also added this as an entirely new method in order to avoid changing all of the other call sites where `ExportAssets` was being used.

#tests
-Ran editor locally, confirmed using this new method exported assets using the new function

#rnx
[REVIEW] [at]jay.nakai, [at]michael.ekberg, [at]jay.thrash, [at]fernando.pereira, [at]jonathan.younger
#rb geoffrey.wong, michael.ekberg

[CL 33357074 by liz barrett in ue5-main branch]
2024-04-30 18:24:20 -04:00
robb surridge
4db3abad42 Reword confirmation dialog for existing assets.
#jira UE-198862
#rb brooke.hubert

[CL 33238041 by robb surridge in ue5-main branch]
2024-04-25 13:54:24 -04:00
alexis matte
03ab547399 Interchange: If we discover we override an existing asset before starting the import, enqueue a real re-import.
#rb JeanLuc.Corenthin
#rnx

[CL 33180214 by alexis matte in ue5-main branch]
2024-04-23 17:13:02 -04:00
robert millar
afb65887a1 Optimizing path permission list checks in ContentBrowserAssetDataSource by optimizing the checks themselves and skipping checks for child paths where possible.
Store paths in permission lists in TDirectoryTree so that checks scale with path depth rather than number of paths.
Add PassesStartsWithFilterRecursive which can return whether a Fail/Pass result for a particular path can be followed by a Pass/Fail result for a child path. (e.g. a path is allowed and there are no explicit denials for any children of that path)
Deprecate GetDenyList and GetAllowList.
Add unit tests for FPathPermissionList.

#rb Julien.StJean, Rex.Hill

[CL 32868537 by robert millar in ue5-main branch]
2024-04-10 19:34:36 -04:00
julien stjean
c4d205f74f Removed the cause of the some warning in our asset mirgration test.
One was caused by the import validation not accounting for the package remapping when validating the class of the import in the linkerload.

The other was caused by some code in the open world tech that asked the asset registry to scan for a file that doesn't exist. This one is resolved by putting the flag to tell the engine that the instanced package from migration don't have on disk file.

#jira UE-209054

#rb JeanLuc.Corenthin, Francis.Hurteau

[CL 32792908 by julien stjean in ue5-main branch]
2024-04-08 10:46:56 -04:00
andrew phillips
22e4c49766 Fix for using Headerpatching issues when running LCW automated test.
Requires
Valkyrie.CopyProjectUsingAssetHeaderPatching true
Valkyrie.UseAssetToolsHeaderPatching true

There are 2 parts to the fix.
1. The header patcher now detects if the new string has the _$number, and uses the parsing constructor which sets the FNames number consistently. else it uses the original number in that particular FName.
2. The generation of the patching maps now look for sources that have the _$number, and create entries with those stripped.


#rb Francis.Hurteau

[CL 32502290 by andrew phillips in ue5-main branch]
2024-03-26 05:27:41 -04:00
richard malo
c9222edfdb Added new class UDeletedObjectPlaceholder to properly handle when an external package contains no more object.
- Ground work for full support of moving an actor from one External Data Layer to another
- Fixes the Save Package dialog not showing the last valid actor's display name (instead was showing the package name)
- Fixes empty packages not properly cleaned up by ULevel::CleanupLevel
- Changing level's bUseExternalActors from true to false and reloading the level without saving now properly works
#rb jeanfrancois.dube

[CL 32209376 by richard malo in ue5-main branch]
2024-03-13 08:01:53 -04:00
aditya ravichandran
2bb9133247 AssetTools: Fix a bug where FAssetDefinitionProxy::GetIconBrush was calling AssetDefinition->GetThumbnailBrush instead of AssetDefinition->GetIconBrush
#rb JeanMichel.Dignard

[CL 31945684 by aditya ravichandran in ue5-main branch]
2024-03-01 11:36:04 -05:00
yafes sahin
8c78548e84 - IAssetTools.h expose bPrompt and create bIgnoreDependencies
- AssetTools.cpp add a case to only copy the selected assets and ignore the dependencies (usecase for automation)
- Added BP example that implements the scripted asset action with the new migrationOption

#rb Julien.StJean, Takashi.Kuribayashi
[FYI] Michael.Lentine
#tests

[CL 31930249 by yafes sahin in ue5-main branch]
2024-02-29 19:11:14 -05:00
julien stjean
ca34575235 Fix the blocked import of a folder when using the extension permissions.
Also I moved the permissions logic closer to the code that actually handle the import.

#rb Alexis.Matte

[CL 31685813 by julien stjean in ue5-main branch]
2024-02-21 11:41:24 -05:00
andrew phillips
88fb5f9039 Silencing warning about not copying Verse packages in advanced copy with header patching.
[CL 31257531 by andrew phillips in ue5-main branch]
2024-02-07 10:17:20 -05:00
jeanluc corenthin
1a38568642 Added logic to only disable FBX level import
#jira UE-205931
#rb Alexis.Matte

[FYI] flavien.picon

[CL 31187134 by jeanluc corenthin in ue5-main branch]
2024-02-05 15:28:45 -05:00
steve robb
6d5b974842 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30735396 by steve robb in ue5-main branch]
2024-01-19 19:41:56 -05:00
andrew phillips
87499e5576 Added warning about packages that cannot be found when wanting to be copied.
[CL 30724980 by andrew phillips in ue5-main branch]
2024-01-19 14:55:11 -05:00
andrew phillips
0e3e68ca92 Fix for Headerpatching and Default__$name_C objects
#rb Francis.Hurteau, Dave.Belanger

[CL 30671435 by andrew phillips in ue5-main branch]
2024-01-17 17:32:38 -05:00
andrew phillips
bfca176283 Added scope timer to indicate use of header patching
[CL 30624622 by andrew phillips in ue5-main branch]
2024-01-15 17:02:48 -05:00
andrew phillips
9efd415bc4 Using header patcher instead of root asset package patcher
Based on CL 30214572

Addeds Patching call to IAssetTools.
Consumes the call in a task in the DuplicatePluginCommandlet
#jira UE-199075
#rb Justin.Marcus

[CL 30595853 by andrew phillips in ue5-main branch]
2024-01-12 12:06:14 -05:00
dave belanger
d5bc7391ec Automatically make an asset public when moving it in another plugin if it's going to be referenced from another plugin after the move (including redirectors)
Don't move an asset if it cannot be made public or if it ends up referencing a private asset that's not being moved or if a dependent asset cannot be moved to a different plugin
Only enabled if AssetTools.EnablePublicAssetFeature cvar is set (which replaces ContentBrowser.PublicAsset.EnablePublicAssetFeature)
#rb Rex.Hill
#rnx

[CL 30595439 by dave belanger in ue5-main branch]
2024-01-12 11:54:15 -05:00
andrew phillips
6e403663de Fix for duplicate LOCTEXT ID
#jira UE-203815

[CL 30593190 by andrew phillips in ue5-main branch]
2024-01-12 10:24:44 -05:00