Commit Graph

39 Commits

Author SHA1 Message Date
andrea botti
9c1aa7d20b [ContentBrowser] When CTRL+C on an asset can we copy the Package Path instead of the Class Path
Added 2 new commmands to copy the ObjectPath and the PackageName.
Leaved the CTRL+C keybind mapped to the same behavior as before.
Added new commands to the keybind system so that users can re-bind them.
Cleaned up some hardcoded checks for keys in the OnKeyDown.

#rb aditya.ravichandran, sebastian.arleryd
#jira UE-155995

[CL 33684273 by andrea botti in ue5-main branch]
2024-05-16 08:31:50 -04:00
robert millar
42915929f3 Cache internal path in content browser data and use internal and virtual path fields to determine invariant path
#rb Julien.StJean

[CL 32807853 by robert millar in ue5-main branch]
2024-04-08 17:35:08 -04:00
robert millar
06db76b50a Make "Show Redirectors" and "Show Empty Folders" cooperate
- Move redirector filtering into backend
- Add a custom filter into SFilterBar to maintain old UI for redirector visibilty

[CL 32257795 by robert millar in ue5-main branch]
2024-03-14 16:17:37 -04:00
julien stjean
67d9048ae5 Large perf improvement for the editor in a large project:
Reworked the ClassDataSource so that it doesn't require a full data refresh when a module is Loaded, Unloaded or Reloaded.
Deprecated the capacity for a ContentBrowser Data Source to request a full data refresh since this doesn't well scale on large projects.

Added a way to query a IReload for the classes that were reinstancited.

Fixed a bug in the FNativeClassHierarchy::GatherMatchingNodesForPaths function. It failed a getting a existing class node if a folder in its path had the same name has the class.

#jira UE-208789

#rb kevin.macaulayvacher

[CL 32212553 by julien stjean in ue5-main branch]
2024-03-13 10:24:34 -04:00
robert millar
7f12e17383 Apply flag EContentBrowserItemFlags::Category_Plugin to classes from plugins
[CL 30621458 by robert millar in ue5-main branch]
2024-01-15 13:08:57 -05:00
matt peters
64658cf6ae GetAssetRegistryTags deprecation: Make the old GetAssetRegistryTags and related functions deprecated.
Upgrade the overrides and callsites in all of Epic's code.
Every class that can be subclassed by licensees that has its override change needs to keep the old version of the function as deprecated. Otherwise subclasses that call Super::GetAssetRegistryTags will have a compile error instead of a deprecation warning.
Several classes had their own extension method for GetAssetRegistryTags being passed on to user data classes. Updated all of those to take FAssetRegistryTagsContext just like GetAssetRegistryTags does.
#rnx
#rb Francis.Hurteau

[CL 30224166 by matt peters in ue5-main branch]
2023-12-08 21:45:21 -05:00
bryan sefcik
da92084a12 Optimized out more private modules includes and dependencies.
#preflight 64627c382965f6ea8ea83bd6

[CL 25479683 by bryan sefcik in ue5-main branch]
2023-05-15 16:26:12 -04:00
julien stjean
703a8ebc8f Adding some cpu traces for the content browser data source filter compilation.
#jira UE-183269
#rb none
#rnx
#preflight 64493e39b208f61af8999741

[CL 25202960 by julien stjean in ue5-main branch]
2023-04-26 13:56:32 -04:00
jamie dale
b95e92ef3d Content Browser UX improvements for cooked content
* Plugins that only contain cooked content (and have no C++ modules) no longer show their "Content" suffix.
* Folders that only contain private cooked content are no longer visible in the asset or path views.

#preflight 642f2e3cb306e98c632f0195
#rb Jason.Stasik, Aditya.RaviChandran

[CL 24994922 by jamie dale in ue5-main branch]
2023-04-11 14:22:33 -04:00
nick darnell
1d16e1bb1c AssetDefinition - Fixing AssetDefintions for native classes not existing.
#jira UE-165574

[CL 23824481 by nick darnell in ue5-main branch]
2023-01-23 18:48:51 -05:00
henrik karlsson
3c9aacb1ad [Engine/Plugins]
* Updated public headers for ~170 engine plugins using iwyu to remove includes not needed. Removed includes are still available behind UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2

#preflight 63c08f4a2a6acaf1622bcc73
#rb none

[CL 23674775 by henrik karlsson in ue5-main branch]
2023-01-13 01:54:01 -05:00
henrik karlsson
2f78497e67 [Engine/Plugins]
* Updated private files with IWYU for all plugins which had 3 or less changes made in ue5 main since last integration to fn

#preflight 63bf8d8b577437afe607dc72
#rb none

[CL 23659643 by henrik karlsson in ue5-main branch]
2023-01-12 01:48:34 -05:00
henrik karlsson
6c0988b13c [Engine/Plugins/Editor]
* Ran IWYU on all private code in the plugins under this folder.

#preflight 63bbb322c45a2c81e0673a9c
#rb chris.waters

[CL 23631839 by henrik karlsson in ue5-main branch]
2023-01-10 15:24:20 -05:00
Robb Surridge
610c467639 Update vendor links for built-in plugins to use secure protocol.
#jira UE-166823
#rb lauren.barnes
#preflight 6352b20b7261e565c476ec3b

[CL 22690089 by Robb Surridge in ue5-main branch]
2022-10-21 11:04:07 -04:00
bob tellez
5c6d5fe746 #UE Remove GetPluginModules from FNativeClassHierarchy to improve editor startup performance. Modern module manager code caches the map of modulenames to plugins O(1) so this is no longer needed. See GetModuleOwnerPlugin
[FYI] Jamie.Dale,Rex.Hill

[CL 22391968 by bob tellez in ue5-main branch]
2022-10-06 23:06:40 -04:00
thomas sarkanen
a733b211b6 Fix display of animation layer interfaces on content browser tiles
Use GetDisplayNameFromAssetData (as with thumbnails) rather than just GetName

#jira UE-165065
#rb JeanMichel.Dignard
#preflight 63355719e410691606aafa72

[CL 22260652 by thomas sarkanen in ue5-main branch]
2022-09-29 20:27:44 -04:00
bryan sefcik
50d4fac9e0 Updated ../Engine/Plugins/... to inline gen.cpp files
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds

After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds

#jira
#preflight 63336159b20e73a098b7f24f

[CL 22218213 by bryan sefcik in ue5-main branch]
2022-09-28 01:06:15 -04:00
robert millar
e6857190f2 Updating collection manager interface to use FSoftObjectPath for the paths of assets and objects rather than FName.
#jira UE-161932
#rb julien.stjean
#preflight https://horde.devtools.epicgames.com/job/6324e773f258fccf98de78cf

[CL 22064625 by robert millar in ue5-main branch]
2022-09-16 20:57:34 -04:00
robert millar
5516f8d0d4 FNames containing asset paths are deprecated. FSoftObjectPath or FTopLevelAssetPath should be used instead.
Fixups for editor support classes for content browser code.

#jira UE-161932
#rb jason.stasik,jamie.dale
#preflight 631bd2a0d31788ea3ac03570

[CL 21935588 by robert millar in ue5-main branch]
2022-09-10 00:02:37 -04:00
robert manuszewski
f0e7ba910a Fixing up places that use FPathPermissionList with class paths. Added an optional EPathPermissionListType constructor param to catch places that pass short path names to FPathPermissionList when it's being used to store class path names
#rb Rex.Hill, Chris.Gagnon
#preflight 629a11d2474d2b43fca6b5c9

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20491615 via CL 20491621 via CL 20491633 via CL 20492092 via CL 20492224
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20495608 by robert manuszewski in ue5-main branch]
2022-06-03 19:15:26 -04:00
robert manuszewski
d1443992e1 Deprecating ANY_PACKAGE.
This change consists of multiple changes:

Core:
- Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject)
- Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter
- Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses
- Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names
- Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used  in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed.
- Added static UClass::TryConvertShortNameToPathName utility function
- Added static UClass::TryFixShortClassNameExportPath utility function
- Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass')
- All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath
- Added a new startup test that checks for short type names in UClass/FProperty MetaData values

AssetRegistry:
- Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath
- Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names
- This also applies to a few other modules' APIs to match AssetRegistry changes

Everything else:
- Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input)
- Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName()
- Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names

#jira UE-99463
#rb many.people
[FYI] Marcus.Wassmer
#preflight 629248ec2256738f75de9b32

#codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20448496 by robert manuszewski in ue5-main branch]
2022-06-01 03:46:59 -04:00
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
Matt Peters
d64cf41728 AssetRegistry includes (Engine Plugins): change #include "AssetData.h" -> #include "AssetRegistry/AssetData.h", and similar for the other moved AssetRegistry headers.
#rb Zousar.Shaker
#rnx
#preflight 6270563191629533ec2b6f6e

[CL 20017756 by Matt Peters in ue5-main branch]
2022-05-02 18:59:38 -04:00
dave belanger
f49a9666a2 Hide some more C++ creation/editing menus when !GUnrealEd->GetUnrealEdOptions()->IsCPPAllowed() (follow up on 18815523)
#rb Rex.Hill
#preflight 61fbfcdee058822bda9ab04b

#ROBOMERGE-AUTHOR: dave.belanger
#ROBOMERGE-SOURCE: CL 18863343 via CL 18863389 via CL 18863403 via CL 18863429 via CL 18863995 via CL 18864392
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18864406 by dave belanger in ue5-main branch]
2022-02-04 11:19:37 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00