Commit Graph

344 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
robert manuszewski
edd3a01111 Fixing SPropertyEditorAsset not supporting class path names when filtering assets
#rb Jay.Nakai
#preflight 628f56db9d313ae1c7e5200d

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20377930 via CL 20377933 via CL 20377934 via CL 20377935
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20382195 by robert manuszewski in ue5-main branch]
2022-05-26 14:27:27 -04:00
sebastian nordgren
78c273fea4 TitleProperty values are now retrieved recursively. This was a regression from UE4 that caused issues in cases that should have worked, eg. an array of instanced objects, because the category node would cause the search to end.
FPropertyNode::FindChildNode is now actually breadth-first, rather than only being breadth-first for a single level. This was causing an issue whereby title properties were being incorrectly retrieved from the first child rather than the topmost child.

Reported from UDN: https://epicgames.lightning.force.com/lightning/r/Case/5004z00001eFeYlAAK/view

#review @nick.darnell, @mikko.mononen
#preflight 628bb2d4183c1e13462d50cd

[CL 20364792 by sebastian nordgren in ue5-main branch]
2022-05-25 10:56:17 -04:00
sebastian nordgren
c1a5b2f838 SPropertyMenuComponentPicker::CanPaste() no longer causes log spam if a string containing a space is in the clipboard.
#jira UE-151446
#review-20127401 @patrick.boutot
#preflight 627b90c91e749933437c4957

[CL 20136084 by sebastian nordgren in ue5-main branch]
2022-05-11 06:44:18 -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
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
sebastian nordgren
014a2dfdd7 Ensure now takes into account the third way that SPropertyEditorCombo can be validly used by passing in three delegates in the args struct.
#review-19865398 @lauren.barnes
#jira UE-149879
#preflight 6262c366d558dfdec38ffeef

[CL 19900009 by sebastian nordgren in ue5-main branch]
2022-04-25 06:40:09 -04:00
sebastian nordgren
9251e7450a SPropertyEditorCombo now correctly checks the editability of the IPropertyHandle passed to it in ComboArgs.PropertyHandle.
Added ensure to check that either the PropertyEditor or PropertyHandle passed is valid.

Reported through UDN.

#review @lauren.barnes
#preflight 624d78d08d1db441a91f35e8

[CL 19847726 by sebastian nordgren in ue5-main branch]
2022-04-21 08:45:50 -04:00
Matt Peters
c1b46b1fed FAssetData: Callsites need to handle AssetData.GetClass() returning null. Added IsInstanceOf(UClass*) for the common operation GetClass() && GetClass->IsChildOf(BaseClass).
#jira UE-146521
#rb Zousar.Shaker
#rnx
#preflight 623874b789625f06129e466b

[CL 19450936 by Matt Peters in ue5-main branch]
2022-03-21 09:00:36 -04:00
leon huang
d557da5e8a Fix for CIS duplicate key warnings.
#rnx
#rb: Vincent.Gauthier
#jira: UE-143620
#preflight: 6226955be83598518fed07ff
#lockdown Mitchell.Wilson

#ROBOMERGE-AUTHOR: leon.huang
#ROBOMERGE-SOURCE: CL 19310017 in //UE5/Release-5.0/... via CL 19311548
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19347532 by leon huang in ue5-main branch]
2022-03-10 21:28:06 -05:00
sebastian nordgren
f49bb7e38f Uses of IPropertyHandle::GetMetadataProperty() have been switched to directly call GetMetadata(), which does it internally anyway. It's probably a mistake for GetMetadataProperty() to be exposed anyway, and it should be deprecated.
#review-19111929 @editor-ux
#preflight 6218f2f51d1c501799437761

[CL 19147685 by sebastian nordgren in ue5-main branch]
2022-02-25 10:32:40 -05:00
sebastian nordgren
4959608709 SPropertyEditorNumeric now uses ForceUnits even when placed in an array.
#review-19072571 @engine-ux
#preflight 6218ec05783beeaf8a02bae7

[CL 19147260 by sebastian nordgren in ue5-main branch]
2022-02-25 10:11:22 -05:00
George Rolfe
92509989f3 Property NoClear specifier propagates to item object pickers
#jira none
#preflight 62019c30384d6a94e8e656a7
#rb Sebastian.Nordgren

[CL 18895119 by George Rolfe in ue5-main branch]
2022-02-07 17:40:15 -05:00
George Rolfe
62e2ce4d8d InvalidEnumValues metadata support (inverse of ValidEnumValues)
#jira none

#preflight 61f89c86f657e25a5908ebe7

#rb matt.kuhlenschmidt

[CL 18805064 by George Rolfe in ue5-main branch]
2022-01-31 22:36:04 -05:00
simon therriault
e3bac11d06 - Fixing crash at shutdown with remote control
#rb jeremie.roy
#jira UE-140261
#preflight 61f195d62f38223e17bc1910

#ROBOMERGE-AUTHOR: simon.therriault
#ROBOMERGE-SOURCE: CL 18740277 in //UE5/Release-5.0/... via CL 18740804 via CL 18741555
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18742261 by simon therriault in ue5-main branch]
2022-01-26 15:04:41 -05:00
sebastian nordgren
928f4adad7 Property matrix now correctly displays EditCondition checkboxes only when applicable to the row. Property matrix rows also hide if the EditConditionHides metadata is set.
#jira UE-117103
#review-18517480 @lauren.barnes

[CL 18584618 by sebastian nordgren in ue5-main branch]
2022-01-12 10:43:58 -05:00
semion piskarev
75a5775fc0 Added LinearDeltaSensitivity metadata tag to make it possible for detail panel sliders to not be exponential. Used it in a couple of modeling tools.
#rb Patrick.Boutot
#rnx
#jira UE-96690
#preflight 61d73f18db0309127d18cf20

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 18534516 in //UE5/Release-5.0/... via CL 18534588
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18534642 by semion piskarev in ue5-release-engine-test branch]
2022-01-06 14:39:38 -05:00
daren cheng
4bb7d6c36f Check if asset is UWorld before opening to prevent loss of work in current level.
#jira UE-136742
#rb sebastian.nordgren
#preflight 61b90f70032c36821eadb466

#ROBOMERGE-AUTHOR: daren.cheng
#ROBOMERGE-SOURCE: CL 18461123 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v898-18417669)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 18461144 by daren cheng in ue5-release-engine-test branch]
2021-12-14 17:45:42 -05:00
sebastian nordgren
17c90fd2d0 Fixed crash when using a TitleProperty that references an invalid property name.
#jira UE-135718
[at]nick.darnell

#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 18283600 in //UE5/Release-5.0/... via CL 18283635
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18283669 by sebastian nordgren in ue5-release-engine-test branch]
2021-11-24 09:59:45 -05:00
ben hoffman
ce1beeeaed Revert part of 18198783. Do not set all property editor bools to be on an interactive change
#jira UE-64828
#rb trivial

#ROBOMERGE-AUTHOR: ben.hoffman
#ROBOMERGE-SOURCE: CL 18258689 in //UE5/Release-5.0/... via CL 18258725
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18258739 by ben hoffman in ue5-release-engine-test branch]
2021-11-22 10:26:26 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
lonnie li
a4e5cdcfd6 PropertyEditor: Add ValidEnumValues metadata support to BitmaskEnum properties
#rb michael.balzer
#rnx
#jira none
#preflight 617ab6165794a500013d8124

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18001553 in //UE5/Release-5.0/... via CL 18001566
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18001577 by lonnie li in ue5-release-engine-test branch]
2021-11-01 10:08:27 -04:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04: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
marc audy
ce5ca781c8 Make GetTransientOuterForRename more generally available and use to fix crash when changing class if that class needs to be within
#jira UE-121844, UE-109049
#rb Ben.Hoffman

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 17577483 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17577484 by marc audy in ue5-release-engine-test branch]
2021-09-20 19:36:56 -04:00