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]
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]
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]
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]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
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]
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]