27 Commits

Author SHA1 Message Date
phillip kavan
a5b516dcc9 Add missing imports after dragging one or more non-imported namespaced type assets into the components tree in the Blueprint editor.
Change summary:
- Removed SSubobjectBlueprintEditor::FOnNewSubobjectAdded typedef and OnNewSubobjectAdded delegate members. Deprecation was not needed as these were added after the 5.0 release.
- Restored SSubobjectBlueprintEditor::AddNewSubobject() back to its original implementation (prior to adding the now-defunct OnNewSubobjectAdded event).
- Added USubobjectDataSubsystem::OnNewSubobjectAdded() to allow potential listeners to register for and receive successful subobject "add" event notifications.
- Modified USubobjectDataSubsystem::AddNewSubobject() to broadcast new subobject data to any registered listener(s) after a successful add.
- Added FBlueprintEditor::DeferredNamespaceImports to stack auto-imports for events that can be triggered more than once within a single frame.
- Modified FBlueprintEditor::OnComponentAddedToBlueprint() to handle subobject add events that target editor Blueprint objects. Also fixed to query the subobject class for its default import set instead of the subobject itself.
- Modified the FBlueprintEditor dtor to unregister the OnBlueprintUnloaded() event handler as I noticed this was not previously being done (benign as the shared ptr was skipped for being invalid, but this now removes us from the broadcast chain).
- Fixed up minor formatting inconsistencies in some legacy FBlueprintEditor analytics-related code paths.

#jira UE-148495
#rb Ben.Hoffman
#preflight 63078bf937470da4bf38fcf2

[CL 21688272 by phillip kavan in ue5-main branch]
2022-08-29 16:50:08 -04:00
bryan sefcik
8cc129f2b6 IWYU Pass 1 - Engine/Source/Editor/...
#jira
#preflight 6306736ac85b7fef22be7751

[CL 21558583 by bryan sefcik in ue5-main branch]
2022-08-24 22:45:13 -04:00
ben hoffman
36e74ea744 Expose the GetObjectForBlueprint function in the SubobjectDataBluepriuntFunctionLibrary. This allows you to get inherited subobject data for a blueprint.
#jira none
#rb trivial
#rnx
#preflight skip

[CL 21497905 by ben hoffman in ue5-main branch]
2022-08-22 19:35:20 -04:00
jamie dale
931f82ff1c Add WithIdenticalViaEquality type-trait for FSubobjectDataHandle
This ensures that it compares correctly when used via a UScriptStruct, eg, within Python.

#jira
[FYI] Bryce.Lumpkin, Ben.Hoffman
#rnx

#ROBOMERGE-OWNER: jamie.dale
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 21182599 via CL 21182750 via CL 21182943 via CL 21182968
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21192673 by jamie dale in ue5-main branch]
2022-07-20 18:33:40 -04:00
bryan sefcik
98b51354ed Ran IWYU on Public headers under Engine/Source/Editor/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065253 by bryan.sefcik
#jira
#preflight 62d5b3e91062f2e63014598e

#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21152630 via CL 21156388 via CL 21157044
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21181817 by bryan sefcik in ue5-main branch]
2022-07-20 11:56:29 -04:00
marc audy
4ab0c3a671 Fix crashing when undoing a native component class change in a blueprint
Fix asserts as a result of replacing actor components without going through proper register/unregister lifecycle
Move logic for component class changing out of the details customization and in to the subobject data subsystem
#jira UE-114303
#preflight 621a7ca51d1c5017996c2a01
#rb ben.hoffman
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 19179312 in //UE5/Release-5.0/... via CL 19180540
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19204194 by marc audy in ue5-main branch]
2022-03-01 14:57:56 -05:00
aurel cordonnier
34f55d3a4a Merge from Release-Engine-Test @ 17946149 to UE5/Main
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17949667 by aurel cordonnier in ue5-main branch]
2021-10-27 15:14:40 -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
ben hoffman
1eb5090127 Do not allow copying or duplicating subobjects with the name of "DefaultSceneRoot". This will prevent confusing renaming situations where the DefaultSceneRoot could be deleted, but still be preventing other subobjects from being named that
#jira UE-119104
#rb todo
#rnx
#preflight 60ff101a47c93a00010d9d2e

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

[CL 16961064 by ben hoffman in ue5-release-engine-test branch]
2021-07-26 16:58:12 -04:00
zousar shaker
d55f79222e Wrapped ObjectPtr upgrade refresh for Engine + ShooterGame
#rb none
#preflight 60f6411c35476b00018dd12c

#ROBOMERGE-SOURCE: CL 16892864 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16892876 by zousar shaker in ue5-release-engine-test branch]
2021-07-20 00:24:38 -04:00
ben hoffman
1cd9ae53b3 Add a flag to force deletion on subobjects so that when making a new scene root the CanDelete check will be bypassed.
This is needed because when the user drags a new scene component over the existing one, the old one should be deleted but is still marked as the SceneRoot (and cannot be deleted because we have to update the instances of the archetypes)

#jira UE-119151
#rb trivial
#rnx
#preflight 60edf5d0ef22fa000176acdf

#ROBOMERGE-SOURCE: CL 16843507 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16843526 by ben hoffman in ue5-release-engine-test branch]
2021-07-13 17:56:56 -04:00
ben hoffman
74b6a53706 Fix some spelling mistakes in comments
#rb trivial
#rnx
#jira none

#ROBOMERGE-SOURCE: CL 16840894 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16840901 by ben hoffman in ue5-release-engine-test branch]
2021-07-13 15:04:09 -04:00
ben hoffman
1b38a5881b Instead of checking if something is a child actor component when attempting to maniuplate it, check if its owner is a CAC instead. If it's owner is a CAC, then it cannot be removed because it is determined by the owning CAC. Before, the code was incorrectly checking if something was just a plain old child actor component, resulting in being unable to delete, reparent, or attach to a child actor component.
#jira UE-117132
#jira UE-117332
#jira UE-117327
#jira UE-117329

#rb marc.audy
#rnx

#preflight 60d48296925f1400010bb909

#ROBOMERGE-SOURCE: CL 16773601 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16773618 by ben hoffman in ue5-release-engine-test branch]
2021-06-24 10:56:30 -04:00
ben hoffman
be3351ad1a Fix typo in comment
#jira none
#rb trivial
#rnx

#ROBOMERGE-SOURCE: CL 16679627 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16679703 by ben hoffman in ue5-release-engine-test branch]
2021-06-15 17:13:43 -04:00
ben hoffman
6f18c928f9 Automatically select a new component for rename upon duplication.
#jira UE-117759
#rb phillip.kavan
#rnx
#preflight 60c2bc6c1264df0001bc76ee

#ROBOMERGE-SOURCE: CL 16635347 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16635367 by ben hoffman in ue5-release-engine-test branch]
2021-06-10 22:29:06 -04:00
ben hoffman
00511fe56b Add a GetDragDropDisplayText function to subobject data to allow for easier conversions to FText for drag/drop operations
#jira UE-117068
#rb trivial
#rnx
#preflight 60c2657279a7fe00017a3617

#ROBOMERGE-SOURCE: CL 16629717 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16629728 by ben hoffman in ue5-release-engine-test branch]
2021-06-10 16:39:14 -04:00
ben hoffman
4b3aa3e563 Make DeleteSubobject functions for an instance and blueprint seperate for better context menu searches
#jira none
#rb trivial
#rnx

#preflight 60be2392884c63000171ad30

[CL 16572253 by ben hoffman in ue5-main branch]
2021-06-07 12:17:06 -04:00
ben hoffman
1f58841e58 Add DisplayName metadata to CreateNewCppComponent and CreateNewBPComponent
#jira UE-116741
#rb trivial
#rnx

[CL 16514835 by ben hoffman in ue5-main branch]
2021-06-01 11:39:12 -04:00
ben hoffman
5ad480280e Fix typo in param name for USubobjectDataSubsystem::CreateNewBPComponent
#jira UE-116739
#rb trivial
#rnx

[CL 16514521 by ben hoffman in ue5-main branch]
2021-06-01 11:12:42 -04:00
ben hoffman
7c447b2d16 Keep track of the created slate nodes while updating tree in the local function scope instead of calling FindOrCreateSlateNodeForHandle because we cannot gaurantee that the grandparent node will be in the RootTree when creating subobjects.
#jira UE-116440
#rb marc.audy
#rnx
#preflight 60af061c0bdb270001096ce7

[CL 16480651 by ben hoffman in ue5-main branch]
2021-05-26 23:50:31 -04:00
ben hoffman
0267dce005 When adding to instance inhertied subobjects, if the actor instance cannot be initalliy found walk up the heirarchy until we find one.
#jira UE-115687
#rb marc.audy
#preflight 60a6ad227370d300018b3ad5

[CL 16408716 by ben hoffman in ue5-main branch]
2021-05-20 15:59:06 -04:00
ben hoffman
cace383786 Fix a case where an ensure could be triggered when adding a new component to a blueprint with BP inherited components
#jira none
#rb
#rnx
#preflight 60a42f4a7d6b060001e8d724

[CL 16377852 by ben hoffman in ue5-main branch]
2021-05-18 18:36:56 -04:00
ben hoffman
f3116b5fe4 Fix a bug where the hierarchy would all be attached to the default scene root for native blueprints.
Correctly sort non-scene components to the bottom of the component tree.
This is some logic that was missed during the SCS editor refactor and is known to work already.

#jira UE-115776
#rb trivial
#rnx
#preflight 60a40b42292e32000148e10b

[CL 16374996 by ben hoffman in ue5-main branch]
2021-05-18 16:15:05 -04:00
ben hoffman
26f716014e Add IsInheritedComponent override to FInheritedSubobjectData to get it to correctly return true.
#jira UE-115689
#jira UE-115692
#rb trivial
#rnx
#preflight 609eebf022cce000010a0d06

[CL 16337265 by ben hoffman in ue5-main branch]
2021-05-14 18:33:04 -04:00
ben hoffman
eec1ad4fad Add cateogry meta tags to the subobject data param structs.
#jira UE-115069
#rb me
#rnx
#preflight 609eb9f7f6c6e3000137bca0

[CL 16333374 by ben hoffman in ue5-main branch]
2021-05-14 15:18:47 -04:00