FClassHierarchy::PopulateClassHierarcy: Refactor for robustness.
Instead of creating a tree for classes-from-blueprint and a tree for classes-from-loaded-UClass, create a single map from ClassPathName to node, and populate the data-from-blueprint and data-from-loaded-Uclass on the same node, and then create a tree from that map.
#rb JeanFrancois.Dube
#rnx
#ROBOMERGE-SOURCE: CL 17261364 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17262941 by matt peters in ue5-release-engine-test branch]
#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]
#lockdown Nick.Penwarden
#rb None
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3967603 by Marc.Audy
Fix force feedback events being played on the correct controller if the OffsetPlayerGamepadIds feature is in use
#jira UE-56077
Change 3969399 by Phillip.Kavan
Partially fix runtime failures for converted circular dependency test actors in a nativized QAGame.
#jira UE-56287
Change 3970181 by Phillip.Kavan
Improved handling of circular dependencies during Blueprint nativization between converted and unconverted assets.
Change summary:
- Removed FGatherConvertedClassDependencies::MarkUnconvertedClassAsNecessary(); no longer in use.
- Modified FFindAssetsToInclude::MaybeIncludeObjectAsDependency() to remove the case that was marking assets for stub class generation; no longer needed.
- Modified FBlueprintNativeCodeGenModule::IsTargetedForReplacement() to detect, report on and handle circular references between converted and unconverted assets (ensuring that both sides are converted).
#jira UE-56292
Change 3970185 by Phillip.Kavan
Fix initialization of special UMG struct types in nativized Blueprint ctor code.
Change summary:
- Modified FBackendHelperUMG::SpecialStructureConstructorUMG() to emit the proper constructor call based on the value of the 'ForcedTime' field. Also modified to emit updated constructor code for the FMovieSceneSegment struct's 'Range' member, which is now a TRange<> type.
- Fixed a typo in the TBaseStructure<FInt32Range> case in FEmitDefaultValueHelper::SpecialStructureConstructor().
#jira UE-56487
Change 3971520 by mason.seay
Adjusted widget anchor to fix screen positioning
Change 3972611 by Mieszko.Zielinski
Fixed some of the vislogger macros using old 'Actor' rather than new 'LogOwner' parameter #UE4
#jira UE-56978
Change 3973564 by Phillip.Kavan
Fix missing dependency on linker response file. Prevents target being relinked when build environment changes.
- Mirrored from //UE4/Dev-Core (3973331).
#jira UE-56277
Change 3974308 by Phillip.Kavan
Fix crash when choosing to delete multiple bookmarks selected in the Bookmarks tree view.
Change summary:
- Modified SBlueprintBookmarks::OnDeleteSelectedTreeViewItems() to make a local copy of the reference to the entry in the source array.
- Modified FBlueprintEditor::RemoveBookmark() to save local config settings *after* modifying the persistent Bookmarks array (it was previously happening before).
#jira UE-55598
Change 3975506 by Mason.Seay
Code and blueprints for subobject testing
Change 3977558 by Mason.Seay
Checking in missed header file
Change 3978137 by Ben.Zeigler
#jira UE-57154 Fix crash where component instance data cache would duplicate external objects during the null component pre serialize
Change 3978326 by Ben.Zeigler
#jira UE-57062 Only look for class redirects for soft object paths if the string starts with /script, some of the class redirect match strings are overly broad and were catching assets
Change 3978393 by Ben.Zeigler
Fix FAssetData::IsUAsset comment to match what it actually does, old comment implied it was false for maps which is wrong
Change 3978837 by Marc.Audy
Make GetAutoEmitTermParameters and IsAutoCreateRefTerm static and optimize both
Change 3978838 by Marc.Audy
(4.19.1) PR #4480: Crash fix trying to open the console command on Windows (Contributed by bakjos)
#jira UE-54908
#jira UE-54215
Change 3979156 by Marc.Audy
PR #4615: Update WindDirectionalSourceComponent.h (Contributed by c4tnt)
#jira UE-57071
Change 3982289 by Ben.Zeigler
Fix several issues with unloaded blueprints and the class picker/viewer
#jira UE-53646 Reimplement CR #4369 so setting a Class blueprint variable to a blueprint class will correctly allow unloaded blueprint children to be selected in the picker
Added FName defines to FBlueprintTags for the asset registry tags used for unloaded blueprints, and removed the ParentClassPackage tag as it was redundant with ParentClass
Fixed it so Soft Class Reference properties can be set back to none with the picker
Removed FUnloadedClassDragDropOp as it did not work correctly and replaced uses with FAssetDragDrop, which was already used for content browser drags
Changed internals of class viewer to properly store and use the paths to the actual generated class
Change 3982684 by Ben.Zeigler
Add DevelopmentAlwaysCook setting to the asset manager cook rule, this works like AlwaysCook in development and like NeverCook in production. DevelopmentCook works like Unknown in development
Change 3982762 by Mieszko.Zielinski
PR #4614: Fix UBTTask_RotateToFaceBBEntry when trying to face a position where i. (Contributed by Goutye)
I've improved the original PR by relaxing condition constraints, and removing some unnecessary vector normalization (since FVecotr::CosineAngle2D normalizes the input parameters anyway).
#jira UE-57070
Change 3982866 by Marc.Audy
Defer Destroying an Actor if it is in the process of beginning play
#jira UE-57091
Change 3982965 by Mieszko.Zielinski
PR #3567: add API declarations to BlueprintNodeHelpers (Contributed by kayama-shift)
Change 3987399 by Dan.Oconnor
Remove unused ReloadObjectArc and unimplemented ArchiveReplaceArchetype
#jira None
Change 3987956 by Mieszko.Zielinski
Fixed inconsistincies in BT category naming in BP #UE4
#jira UE-57262
Change 3988308 by Mieszko.Zielinski
Fixed 'navmesh needs to be rebuild' displaying even after navigation building with navmesh auto building disabled #UE4
#jira UE-57286
Change 3989309 by Mieszko.Zielinski
A support AI pluggin that links the aimodules #UE4
Change 3989311 by Mieszko.Zielinski
Moved the HTNPlanner plugin into the newly created Plugins/AI subfolder #UE4
Change 3989506 by mason.seay
WIP Navigation Test Map
Change 3990826 by Phillip.Kavan
Fix existing placements of nativized Blueprint actors with a nonzero (legacy) root component scene transform at the CDO level.
This corrects a long-standing issue that was introduced back in 2947488.
Change summary:
- Modified AActor::PostSpawnInitialize() to zero out RelativeLocation and RelativeRotation when spawning actors with a native scene root inherited from a converted Blueprint class.
- Modified FNonativeComponentData to remove the HandledAsSpecialProperty() override for skipping the RelativeLocation and RelativeRotation properties on root components when emitting code to initialize the CDO for a converted Actor BP with a non-native root component.
#jira UE-50452
Change 3993174 by mason.seay
Cleared out unnecessary BP logic
Change 3994370 by Ben.Zeigler
Remove manual AI includes, the AI support plugin correctly pulls in those references now
Change 3995399 by Marc.Audy
When destroying the world clear out level collections
#jira UE-57257
Change 3995731 by Marc.Audy
Fix UEngine::CommitMapChange issues with new streaming level state machine
* Level needs to be added to array before determining current state
* Should be adding, not setting streaming levels from fake world
#jira UE-57424
Change 3996917 by Ben.Zeigler
ObjectWriter should not reset the soft object weak pointer, it should be a const operation
Change 3996921 by Ben.Zeigler
#jira UE-57288 Improve ensures for invalid primary asset types, it only complains if type is set and gives a better error
Change 3997164 by Dan.Oconnor
Don't purge classes until they are recompiled and relink all child classes immediately after a blueprint generated class has changed. This allows iterative compilation logic to behave as it did before the compilation manager
#jira UE-55667
Change 3997674 by paulo.souza
Reverting camera setup changes from the renaming
Change 3997901 by mason.seay
Updates to subobject test bp's
Change 3998028 by mason.seay
Move logic to Event Graph
Change 3998051 by Mason.Seay
Adding QAGame ClassGroup to actively tested QAGame components for organization
Change 3999438 by Dan.Oconnor
Fix deterministic cooking issues by avoiding use of MakeUniqueObjectName when instantiating component templates
#jira FORT-81409
Change 4000265 by Mason.Seay
Checking in QAGame classes again to (hopefully) fix property issues
Change 4000339 by Marc.Audy
PR #4652: AttachComponent Message Fix (Contributed by nonlin)
#jira UE-57656
Change 4001338 by Dan.Oconnor
Fix reinstancing bug introduced in 3591939 which could cause some reinstanced objects to have references within them replaced. If the object in question was an actor it could take ownership of components owned by another actor and destroy them, resulting in a crash when the other actor tried to use its components
#jira UE-57335
Change 4001400 by Marc.Audy
Per https://udn.unrealengine.com/questions/407745/childactorcomponent-and-modifications-to-component.html don't redirect or reset loaders when renaming components as part of the component instance data cache.
Change 4001530 by Marc.Audy
Use a clean default object to calculate the empty archive size.
Change 4002791 by Marc.Audy
Fix ensure when loading sublevel that has been redirected
#jira UE-57516
Change 4002812 by mason.seay
Added BP code to test Watching Sets and Maps
Change 4002947 by mason.seay
More code for watch values testing
Change 4003059 by paulo.souza
Fixes to volumetric lighting and sphere capture bakes
Change 4003509 by Dan.Oconnor
Reset bIsFakingTouched and bIsGameFakingTouch when the game viewport is unregistered. This prevents the PIE session from tainting editor session behavior when UInputSettings::bUseMouseForTouch is set
#jira UE-57724
Change 4005596 by Phillip.Kavan
Fix random crashes when running multiple global blueprint search tabs in parallel just after editor launch.
Change summary:
- Refactored global FiB APIs to use thread-safe shared pointer types when referencing imaginary Blueprint data, which is a shared resource.
- Modified FFindInBlueprintSearchManager::ContinueSearchQuery() to ensure that parsing imaginary Blueprint data only happens on a single thread.
#jira UE-57046
Change 4005657 by Dan.Oconnor
Don't attach OldRoot component if it's not outered to the current actor
#jira UE-55300
Change 4005709 by Phillip.Kavan
Ensure rather than assert on failed child promotion when destroying a non-root scene component within an Actor's scene component hierarchy.
#jira UE-52921
Change 4005825 by paulo.souza
New camera angle + touch rotation tests + "Action RPG" logos
Change 4006058 by Sam.Deiter
Removing this as it is not needed.
Change 3980745 by Marc.Audy
Apply CL# 3977198 from Dev-Core
#author Ben.Marsh
Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug.
[CL 4006923 by Dan Oconnor in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
OnlyPlaceable metadata added. Indicates whether only placeable classes should be shown in the class picker.
More robust AGameMode::PreInitializeComponents
ttp345655 CRITICAL: CRASH: BLUEPRINT: adding GameMode blueprint as a child actor
[CL 2295026 by Maciej Mroz in Main branch]
Added new blackboard view based on MyBlueprint.
Class viewer can now optionally display "Display Names" for classes (this is used to make the names of blackboard entries more friendly).
SPropertyEditorEditInline now displays the class type icon as well as its name.
Blackboard entry details customization now hides the header for entries, so one level of expansion is no longer necessary.
Removed pointer to 'view' in the blackboard debugger & replaced with delegates where appropriate.
Fixed crash issue also mentioned here: https://github.com/EpicGames/UnrealEngine/pull/212
Added new detail customization used to display only the selected entry in the current blackboard.
Fixed crash when running services with no Blackboard (prevent access of NULL blackboard component).
TTP# 337669 - Behaviour Tree Editor: Integrate Blackboard debugging display with Blackboard Editor
reviewed by Andrew.Brown, Lukasz.Furman
[CL 2113798 by Thomas Sarkanen in Main branch]