Commit Graph

327 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
alexis matte
e0aa946812 Fix issue with re-import with new file when there was no original file in the asset import data.
#jira UE-142469
#rb jeanmichel.dignard
#preflight 6214d9a4a97c2c3348c965e7
#rnx
#lockdown jeanmichel.dignard

#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 19072087 in //UE5/Release-5.0/... via CL 19090446
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19134647 by alexis matte in ue5-main branch]
2022-02-24 19:54:32 -05:00
Alexis Matte
9775bb4fbd Add Interchange support for Import geo/skinning only workflow
#UETOOL-4729
#rb richard.talbotwatkin
#rnx
#preflight 62178d841a114ad504392e3f

[CL 19112941 by Alexis Matte in ue5-main branch]
2022-02-24 09:10:50 -05:00
Alexis Matte
3ebcc8a104 Interchange initial basic re-import implementation
#jira UETOOL-4769
#rb richard.talbotwatkin
#rnx
#preflight 61f434ec7a7f0d39ddeea708

[CL 18777131 by Alexis Matte in ue5-main branch]
2022-01-28 14:54:56 -05:00
UnrealBot
c47e81b2cb Branch snapshot for CL 18531810
[CL 18531810 in ue5-main branch]
2022-01-06 16:44:09 +00:00
UnrealBot
2987349d36 Branch snapshot for CL 18514113
[CL 18514113 in ue5-main branch]
2022-01-05 20:41:17 +00:00
ben hoffman
c35fb2613a Do not allow blueprints to bind to gesture keys if it is not enabled in the settings
#jira UE-101949
#rb justin.hare
#preflight 61d4814b430de36baa3142c3

#ROBOMERGE-AUTHOR: ben.hoffman
#ROBOMERGE-SOURCE: CL 18519475 in //UE5/Release-5.0/... via CL 18519496
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18519510 by ben hoffman in ue5-release-engine-test branch]
2022-01-05 10:57:39 -05:00
julien stjean
0af64fa975 Stop interchange from being use when using asset tool api by defaul (when interchange is on). (Otherwise this would break some licensees made code and scripts). Those who want an async import should use the interchange api preferably.
Added a setting to turn on interchange import only for textures.

The selection of the asset in the content is now only done after all the asset are imported when using interchange.

#jira UETOOL-4291
#rb Alexis.Matte
#preflight 619e34820141b3c6da5b98d0

#ROBOMERGE-AUTHOR: julien.stjean
#ROBOMERGE-SOURCE: CL 18282733 in //UE5/Release-5.0/... via CL 18282735
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18282740 by julien stjean in ue5-release-engine-test branch]
2021-11-24 08:15:47 -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
jeanfrancois dube
708389101e External actors: added delegates before and after saving any numbers of external actors.
#rb francis.hurteau
#preflight 6128f9aa2a3bf70001c5b40b

#ROBOMERGE-SOURCE: CL 17336792 via CL 17336802
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17336807 by jeanfrancois dube in ue5-release-engine-test branch]
2021-08-27 14:06:47 -04:00
daren cheng
d7b9c71cab Remove UE4 references UnrealEd
#jira UE-111293
#rb trivial

#ROBOMERGE-SOURCE: CL 17000762 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 17000774 by daren cheng in ue5-release-engine-test branch]
2021-07-29 16:30:39 -04:00
richard malo
7418116ead Fixed check happening next time PIE is started after last one was cancelled due to an error.
#lockdown nick.whiting
#rb patrick.enfedaque

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

[CL 15989437 by richard malo in ue5-main branch]
2021-04-13 10:13:41 -04:00
Marc Audy
01b7c9f4f5 Merge UE5/RES @ 15958325 to UE5/Main
This represents UE4/Main @ 15913390 and Dev-PerfTest @ 15913304

[CL 15958515 by Marc Audy in ue5-main branch]
2021-04-08 14:32:07 -04:00
Matt Peters
fd97028c28 Change presave prototype to take an FObjectSaveContextRef to provide more information about the save parameters.
#rb Francis.Hurteau, Devin.Doucette
#rn Minor Cooking

[CL 15831839 by Matt Peters in ue5-main branch]
2021-03-25 16:51:36 -04:00
marc audy
d67264ec8c Fix crash applying instance properties
#jira UE-104711
#rb Ben.Hoffman
#lockdown Nick.Whiting

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 15681731 via CL 15681747 via CL 15682815 via CL 15682822 via CL 15683181
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Main) (v781-15675533)
#ROBOMERGE[STARSHIP]: Release-5.0-EarlyAccess

[CL 15683190 by marc audy in ue5-main branch]
2021-03-11 20:40:07 -04:00
JeanFrancois Dube
28bae56de0 Remove dependency on Asset Registry callbacks for actor added/updated/deleted.
#rb patrick.enfedaque

#ROBOMERGE-OWNER: JeanFrancois.Dube
#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 15665076 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v779-15635321)
#ROBOMERGE-CONFLICT from-shelf

[CL 15665113 by JeanFrancois Dube in ue5-main branch]
2021-03-10 08:48:55 -04:00
danny couture
224f6b2c4f Fix missing notification to a component when we overwrite its properties causing an ensure to trigger when converting a static mesh to a BP asset
#jira UE-108242
#rb Francis.Hurteau
#robomerge Release-5.0-EarlyAccess

[CL 15489807 by danny couture in ue5-main branch]
2021-02-22 11:25:46 -04:00
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Phillip Kavan
23222d8321 Revert 14886445/14888213 to unblock projects from a new regression while I continue to investigate/resolve.
Note: This keeps the fix for incorrect nested DefaultSceneRoot ICH override template names in place, since that was a separate issue.

#rnx
#rb None
#jira UE-87133, UESP-4238
#fyi Jon.Nabozny

[CL 14897958 by Phillip Kavan in ue5-main branch]
2020-12-10 11:04:34 -04:00
Phillip Kavan
f4d2457f1a Fix outstanding issues with ICH override template object archetype lookups during serialization of child Blueprint class assets.
Change summary:
- Reordered FComponentOverrideRecord struct fields so that the key is serialized before the template object. Archetype lookups on the template object are now dependent on the key being valid as we now route these through the record table.
- ICH override template object serialization is now deferred in non-EDL builds (i.e. editor) as part of loading the Blueprint class asset. This ensures that the ICH override record key is valid in older assets before we let the linker instance the export object for the ICH override template object on load; per the above, this depends on a successful archetype lookup for its instantiation.
- Modified the signature of UClass::FindArchetype() to include an additional ObjectFlags input argument.
- Revised GetArchetypeFromRequiredInfoImpl() to now route ICH override template object archetype lookups through the owning class in place of the "old way" of doing a brute force subobject search through the outer class chain, which would sometimes fail and fall back to incorrectly return the archetype class's default object, resulting in data loss issues on load.
- Revised UBlueprintGeneratedClass::FindArchetype() to route ICH override template object archetype lookups through the parent class hierarchy, using the ICH override record's key to retrieve the original template as the basis for finding a match. This ensures that lookups won't fail due to things like SCS variable name changes in the base class and also that we now can properly handle archetype lookups for ICH records that override an inherited default scene root.

#jira UE-87133
#rb Marc.Audy

[CL 14886445 by Phillip Kavan in ue5-main branch]
2020-12-09 02:11:53 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Alexis Matte
319bbc5550 Make sure all interchange namespace respect the coding standard
#jira none
#rb jeanmichel.dignard

[CL 14379943 by Alexis Matte in ue5-main branch]
2020-09-23 15:40:10 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -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