Commit Graph

43 Commits

Author SHA1 Message Date
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
sebastian nordgren
2a4d886834 Removed unnecessary inline forward declarations from ClassViewerModule.h.
#rb trivial
#rnx
#preflight 628e4d19f622d972b58a17b4

[CL 20365984 by sebastian nordgren in ue5-main branch]
2022-05-25 11:55:35 -04:00
robert manuszewski
f8a812a32f Converting hardcoded short class/enum names to pathnames ahead of ANY_PACKAGE removal
#rb trivial
#jira UE-99463
#preflight 6288fd998828ea88c8aef3d0

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20314896 via CL 20314897 via CL 20314903 via CL 20314904
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20315214 by robert manuszewski in ue5-main branch]
2022-05-22 10:30:02 -04:00
Matt Peters
7ad238a806 AssetRegistry includes (Engine/Source): change #include "AssetData.h" -> #include "AssetRegistry/AssetData.h", and similar for the other moved AssetRegistry headers.
#rb Zousar.Shaker
#rnx
#preflight 6270509a220f89f0ad573030

[CL 20016982 by Matt Peters in ue5-main branch]
2022-05-02 18:06:48 -04:00
tom noonan
c9db409d04 Repopulating ClassViewer cache when scripts have finished compiling in the editor
[REVIEW] [at]dave.belanger, [at]markus.breyer, [at]tim.tillotson
#preflight 6238534fec68595f3b765664

#ROBOMERGE-AUTHOR: tom.noonan
#ROBOMERGE-SOURCE: CL 19450408 via CL 19451892 via CL 19453489 via CL 19456017 via CL 19456412
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v933-19451510)

[CL 19461500 by tom noonan in ue5-main branch]
2022-03-21 20:11:48 -04:00
jason stasik
6ea7870869 Refresh ClassViewers when global filter changes
#rb dave.belanger
#preflight 62168c46476ef5d8a2080bb2

#ROBOMERGE-AUTHOR: jason.stasik
#ROBOMERGE-SOURCE: CL 19100950 via CL 19107952 via CL 19107988 via CL 19108043 via CL 19110201
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19151626 by jason stasik in ue5-main branch]
2022-02-25 13:29:24 -05:00
aurel cordonnier
e3f7878676 Merge from Release-Engine-Test @ 17462327 to UE5/Main
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17463546 by aurel cordonnier in ue5-main branch]
2021-09-08 16:42:26 -04:00
iniside
6eb0c660a9 PR #8168: Allow Selection of base class for Widget Blueprint (Contributed by iniside)
#rb daren.cheng
#jira UE-118900
#preflight 61032d69431c7800018d2a42

[CL 17003026 by iniside in ue5-main branch]
2021-07-29 19:55:05 -04:00
Phillip Kavan
fa853af912 Fix for non-unity build.
#rnx
#jira UE-108316
#rb none (trivial)

[CL 16629076 by Phillip Kavan in ue5-main branch]
2021-06-10 16:11:16 -04:00
Phillip Kavan
dfa32e9708 Extends the class viewer module to support multiple custom class filters along with an optional associated view option flag.
Additional changes:
- Deprecates the previous method for specifying a singular custom class viewer filter and updates all existing occurrences of this pattern in engine code.
- Extends the property editor utilities interface to expose custom class filter(s) that can be applied to the class picker widget used for editing class property values.
- Adds an implementation of this interface to SDetailsView such that additional class filter(s) can now be configured to be applied to all underlying class property nodes.

#jira UE-108316
#rb Lauren.Barnes
#preflight 60c2102e8ae8960001110d50

[CL 16623084 by Phillip Kavan in ue5-main branch]
2021-06-10 10:31:37 -04:00
lauren barnes
072d8cbdd6 Updating SWizard to new styles - impacts Profile Wizard, Niagara New Asset wizards, and New Class Dialog. New Class Dialog updated to new style guidelines/using new widget types
#jira UETOOL-2453
#rb Louise.Rasmussen
#lockdown Simon.Tourangeau
#preflight 606e06cf7ce9ca0001968135

#ROBOMERGE-SOURCE: CL 15945506 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15950032 by lauren barnes in ue5-main branch]
2021-04-07 22:11:49 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
marc audy
c3b60a6009 Fix linker error
#jira
#rnx


#ROBOMERGE-SOURCE: CL 11425706 via CL 11425727
#ROBOMERGE-BOT: (v654-11333218)

[CL 11425734 by marc audy in Main branch]
2020-02-13 15:13:37 -05:00
marc audy
ad7720c38d Fix default selection when bringing up create blueprint from actor for a single selection to be the class of the selected object.
Prevent use of an invalid parent class when creating a blueprint from actor via subclass.
Update the filtered class list when changing from subclass to harvest/child actor mode when a single actor is selected.
#jira UE-88625
#rb Ben.Hoffman
#rnx


#ROBOMERGE-SOURCE: CL 11424047 via CL 11424072
#ROBOMERGE-BOT: (v654-11333218)

[CL 11424074 by marc audy in Main branch]
2020-02-13 14:21:49 -05:00
marc audy
30250ace64 Allow SClassViewer to specify an initially selected item
#rb Sebastian.Nordgren
#jira


#ROBOMERGE-SOURCE: CL 11290884 via CL 11290887
#ROBOMERGE-BOT: (v647-11244347)

[CL 11290889 by marc audy in Main branch]
2020-02-07 09:03:51 -05:00
marc audy
6311349f9c Move SClassViewer.h to public so it can be properly included without long pathing including Private folders
#jira
#rb Chris.Gagnon
#rnx


#ROBOMERGE-SOURCE: CL 11206205 via CL 11206206
#ROBOMERGE-BOT: (v643-11205221)

[CL 11206208 by marc audy in Main branch]
2020-02-03 10:28:39 -05:00
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00
Chris Gagnon
2e87118a18 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

[CL 8614014 by Chris Gagnon in Main branch]
2019-09-10 11:35:20 -04:00
bob tellez
644e56f6d3 #UE4 ClassViewerFilter integration with AssetReferenceFilter that was lost in merging to Dev-EngineMerge
#ROBOMERGE-SOURCE: CL 7061631
#ROBOMERGE-BOT: (v367-6836689)

[CL 7061632 by bob tellez in Main branch]
2019-06-18 02:17:23 -04:00
bob tellez
0b6c164929 #UE4 Nonunity CIS fix
#ROBOMERGE-SOURCE: CL 7040832 via CL 7042222 via CL 7047485
#ROBOMERGE-BOT: (v367-6836689)

[CL 7048343 by bob tellez in Main branch]
2019-06-17 13:58:17 -04:00
bob tellez
396eacbdc1 Partial merge. Will redo SClassViewer.cpp implementation since the structure is different in UE4/Main. All other changes came over cleanly
#UE4 Added AssetReferenceFilter. An editor feature to allow projects to specify a filter to disallow editor systems to form references between certain assets. Add a listener for UUnrealEdEngine::OnMakeAssetReferenceFilter which returns a subclass of IAssetReferenceFilter that was constructed with the supplied context. PassesFilter will be called on this filter object to determine if the reference is allowed. Currently respected by asset picker, class picker, details panels, and edgraph drag/drop operations.

#jira UE-75912


#ROBOMERGE-SOURCE: CL 7046716
#ROBOMERGE-BOT: (v367-6836689)

[CL 7046768 by bob tellez in Main branch]
2019-06-17 13:36:16 -04:00
Chris Gagnon
930e33cb48 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.23 From CL 6837861
#rb none

[CL 6838042 by Chris Gagnon in Main branch]
2019-06-04 15:42:48 -04:00
lauren ridge
0bf7f28cc7 Blutility updates to add more generic base classes and libraries for editor scripting
#rb Chris.Gagnon
#rnx


#ROBOMERGE-SOURCE: CL 5808467 via CL 5811585

[CL 5811826 by lauren ridge in Main branch]
2019-04-09 16:17:53 -04:00
Chris Gagnon
1dd3e0189f Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4730305 by Chris Gagnon in Dev-Editor branch]
2019-01-15 18:47:22 -05:00
projectgheist
3531c90a3b PR #5417: Hide unnecessary border in animation context menu (Contributed by projectgheist)
#rb Chris.Gagnon

[CL 4682925 by Chris Gagnon in Dev-Editor branch]
2019-01-04 16:28:19 -05:00