#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
============================
MAJOR FEATURES & CHANGES
============================
Change 3623720 by Phillip.Kavan
#jira UE-49239 - Temp fix for QAGame animations not updating in a nativized build.
Change summary:
- Temporarily excluded all AnimBP assets from nativization as a workaround.
Change 3626305 by Phillip.Kavan
#jira UE-49269 - Workaround fix for crash after packaging a nativized QAGame build with all AnimBP assets disabled for nativization by default.
Change 3629145 by Marc.Audy
Don't hide developer nativization tool behind ini
Change 3630849 by Marc.Audy
Fix nativization uncompilable code when using a non-referenceable term in a switch statement.
#jira UE-44085
Change 3631037 by Marc.Audy
(4.17.2) Fix crash when nativizing blueprint with MakeMap or MakeSet node in it
#jira UE-49440
Change 3631206 by Marc.Audy
Make NAME_None == TEXT("") behave the same as NAME_None == FName(TEXT(""))
Change 3631232 by Marc.Audy
Remove outdated diagnostic code throwing false positives
#jira UE-47986
Change 3631573 by Marc.Audy
Fix containers of vector, rotator, or transform placing a space between the type and the pluralization 's'
Change 3633168 by Lukasz.Furman
fixed behavior tree changing its state during latent abort,
modified order of operations during abort to: abort & wait -> change aux nodes -> execute
Change 3633609 by Marc.Audy
Don't get unneeded string
Change 3633691 by Marc.Audy
Fix copy-pasting of a collapsed graph containing a map input losing the value type
#jira UE-49517
Change 3633967 by Ben.Zeigler
Actor.h header cleanup, fix various comments and reorganize some members, saves 80 bytes per actor in a cooked Win64 build
bRunningUserConstructionScript is now private, exposed with IsRunningUserConstructionScript
Fixed a few other fields to be private that were accidentally made public in 4.17
Change 3633984 by Michael.Noland
Blueprints: Fixed a potential crash when collapsing nodes to a function when a potential entry pin had no links
Change 3634464 by Ben.Zeigler
Header cleanups for Pawn, Controller, Character, and PlayerController
Change 3636858 by Marc.Audy
In preview worlds don't display the light error sprite
#jira UE-49555
Change 3636903 by Marc.Audy
Fix numerous issues with copy/pasting editable pin bases
#jira UE-49532
Change 3638898 by Marc.Audy
Allow right-click creation of local variables in blueprint function libraries
#jira UE-49590
Change 3639086 by Marc.Audy
PR #4006: Mark UEdGraphSchema::BreakSinglePinLink as const (Contributed by leyyin)
#jira UE-49591
Change 3639445 by Marc.Audy
Fix mistaken override and virtual markup on niagara schema function.
Change 3641202 by Marc.Audy
(4.17.2) Fix crash undoing pin changes with split pins
#jira UE-49634
Change 3643825 by Marc.Audy
(4.17.2) Fix crash right clicking a struct pin when the struct it represented has been deleted
#jira UE-49756
Change 3645110 by mason.seay
Fixed up QA-ClickHUD map so it's usable and makes more sense
Change 3646428 by Dan.Oconnor
Fix for UbergraphFrame layout changing during bytecode recompile, which would cause actual ubergraph frame layout to mismatch reflection data
#jira None
Change 3647298 by Marc.Audy
PR #4016: Rename argument name for SetInputMode (Contributed by projectgheist)
#jira UE-49748
Change 3647815 by Marc.Audy
Minor performance improvements
Change 3648931 by Lina.Halper
#Compiler : fixed so that each type of BP can provide module info, and compiler info
- Moved out AnimBlueprint Compiler
- Refactored WidgetBlueprint
- DUPE - Merging using ControlRig_Dev-Framework
Change 3654310 by Marc.Audy
Shrink USkinnedMeshComponent 64 bytes
Shrink USkeletalMeshComponent 224 bytes (160 bytes internal)
Change 3654636 by Lina.Halper
Fix crashing on shutdown
#jira: UE-50004
Change 3654960 by Lina.Halper
- Fix with automation test of creation/duplication
- Fixed shut down crash with editor again due to uobject GCed
#jira: UE-50028
Change 3655023 by Ben.Zeigler
#jira UE-50101 Fix level streaming transform when PIE-duplicating a level that has been preloaded but not made visible in the editor. Instead of always saying actors have been moved we copy the source level's flag
Change 3655426 by Ben.Zeigler
#jira UE-50019 Fix issue where StreamableManager could return objects that are partially loaded if called from PostLoad. StreamableManager never wants half-loaded objects, so change it to explicitly skip them
Change 3657627 by Ben.Zeigler
#jira UE-50157 Fix EDL load dependency issue where the simple construction script/ICH are not guaranteed to be serialized in time for subobject construction
Change 3662086 by Mieszko.Zielinski
Fixed navmesh not loading properly in PIE when owning world has been duplicated-for-play #UE4
This can happen when navigation containing level is loaded via AsyncLoadPrimaryAssetList
#jira UE-50101
Change 3662294 by Ben.Zeigler
Fix enum redirects to handle non-class enums properly where a value redirect is not specified. It needs to convert from EOldEnum::Value to ENewEnum::Value before doing the name check
Change 3662825 by Mieszko.Zielinski
Fixed VisLog debug drawing crashing when using UI to change log lines to be displayed #UE4
there was a loop iterating over elements of a map and was modifying the map as it went, which is a big no-no
Change 3664424 by Marc.Audy
UE-50076 test assets #rb none #rnx
Change 3664441 by Mieszko.Zielinski
PR #3993: UE-25907: Added logging to Log Text, Log Location, and Log Box Shape (Contributed by projectgheist)
Piggybacking on this PR I've redone how visual log is using categories. Now it's using FName rather than FLogCategoryBase to indicated log category. All UE_VLOG macros have been updated.
Change 3664506 by Phillip.Kavan
#jira UE-47852 - Fix various issues with both UAT/UBT-driven and manually-configured code/data build workflows involving nativized Blueprint assets.
Change summary:
- UAT: Removed '-nativizedAssets' command-line option. It's no longer required to specify this flag when cooking/building in order to enable nativization.
- UAT: Removed AutomationTool.ProjectParams.BlueprintPluginPaths.
- UAT: Modified AutomationTool.ProjectParams.ProjectParams() to initialize the 'RunAssetNativization' field based on the current 'BlueprintNativizationMethod' config setting. This flag is now used just to direct UAT to defer invoking UBT for '-build' until after the '-cook' stage has finished.
- UAT: Modified BuildCookRun.DoBuildCookRun() to remove the 'bWarnIfPackagedWithoutNativizationFlag' case (since we removed the '-nativizedAssets' command-line option).
- UAT: Removed Project.AddBlueprintPluginPathArgument() and Project.GetBlueprintPluginPathArgument(). These utility functions are no longer needed.
- UAT: Modified Project.Cook() to remove the registration of each NativizedAssets plugin path for '-build' along with the addition of the '-nativizedAssets' argument with the platform-agnostic path to the NativizedAssets plugin when invoking UE4Editor.exe for '-cook'. This is now handled by the UE4Editor cook commandlet instead.
- UAT: Modified Project.Build() to remove the addition of the '-plugin' argument with the path to the NativizedAssets plugin when invoking UBT for '-build'. This is now handled by UBT instead.
- UBT: Modified UnrealBuildTool.ProjectFileGenerator.DiscoverExtraPlugins() to remove the previously-added search for intermediate plugin assets based on the 'AdditionalPluginDirectories' optionally found in the .uproject file. Instead, this search is now handled via a Plugins.EnumeratePlugins() LINQ query. It is also gated by a new Advanced project setting in DefaultGame.ini that defaults to off, but this way users can still add generated assets into the solution file.
- UBT: Added UnrealBuildTool.UEBuildTarget.ShouldIncludeNativizedAssets() as a utility method for checking the current 'BlueprintNativizationMethod' setting in the game's config file.
- UBT: Modified UnrealBuildTool.UEBuildTarget.CreateTarget() to confirm the existence of a NativizedAssets plugin (generated at cook time) when the project is configured for nativization. If the plugin is found, it is added to the RulesAssembly chain and the ProjectDescriptor.ForeignPlugins list. If the plugin is not found, then a BuildException is thrown informing the user that the plugin must exist in order to build (with a note to make sure to cook the target platform first).
- UE4: Added 'Lex' namespace utility functions for converting PlatformInfo::EPlatformType to/from an FString. Note: Lex::FromString() is simply a proxy to the already-existing PlatformInfo::EPlaformTypeFromString() API, but it was included for completeness.
- UE4: Removed the UProjectPackagingSettings::bWarnIfPackagedWithoutNativizationFlag. This is no longer needed since the '-nativizedAssets' command-line option has been removed.
- UE4: Added UProjectPackagingSettings::bIncludeNativizedAssetsInProjectGeneration (advanced setting). This defaults to 'false' (off). When true, running GenerateProjects.bat will also generate project files for any NativizedAssets plugins previously generated at cook time. This gives advanced users/engineers an option to include nativized Blueprint class sources in the set of generated C++ code projects for faster browsing, etc.
- UE4: Modified UProjectPackagingSettings::PostEditChangeProperty() to remove the case that handles the 'BlueprintNativizationMethod' property. When this value changes, we no longer make an attempt to modify the .uproject file.
- UE4: Removed BlueprintNativeCodeGenManifestImpl::PlatformPlaceholderPattern. This pattern string is no longer in use. Also modified the FBlueprintNativeCodeGenPaths ctor to remove the replacement logic for the pattern string.
- UE4: Modified FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to construct and return a new directory pattern for the generated NativizedAssets plugin. This is now generated to: Intermediate/Plugins/NativizedAssets/<Platform>/<Type:Game|Client|Server>.
- UE4: Modified FBlueprintNativeCodeGenPaths::PluginRootDir() to no longer append "NativizedAssets" to the end of the path to the generated NativizedAssets plugin.
- UE4: Removed FCookByTheBookStartupOptions::bNativizeAssets and NativizedPluginPath (no longer in use since the '-nativizeAssets' command-line option has been removed).
- UE4: Modified UCookCommandlet::CookByTheBook() to remove initialization of the 'bNativizeAssets' field in the startup options (since the corresponding command-line argument has been removed).
- UE4: Removed FNativeCodeGenData::DestPluginPath and modified FBlueprintNativeCodeGenModule::Initialize() to remove the check for it.
- UE4: Added FBlueprintNativeCodeGenModule::ShutdownModule(). This now handles cleanup for the nativization module after the cook process has finished.
- UE4: Modified UCookCommandlet::CookByTheBook() to no longer look for the '-nativizedAssets' command-line option as well as to remove the initialization of the nativization-related startup option flags that were removed.
- UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to check the 'BlueprintNativizationMethod' config setting in order to determine whether or not to nativize assets. This replaces the '-nativizedAssets' command-line flag.
- UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to remove the case that previously handled the 'bWarnIfPackagedWithoutNativizationFlag' check. This is no longer needed since the '-nativizedAssets' flag was removed.
- UE4: Modified UCookOnTheFlyServer::CookByTheBookFinished() to unload the IBlueprintNativeCodeGenModule instance after cooking, in order to reset module state for another potential pass within the same process context.
- UE4: Modified UWidgetBlueprintGeneratedClass::InitializeTemplate() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we shift the OldArchetype object into the transient package, it doesn't invalidate the outer package's linker. We need that to remain valid so that multiple nativized cooks within the same process don't fail.
- UE4: Modified FMainFrameActionCallbacks::PackageProject() to remove the addition of '-nativizedAssets' to the UAT command line based on project settings (this is no longer needed, as it is now handled internally by UAT).
- UE4: Modified SaveWorld() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we rename the world instead of duplicating it, it no longer triggers a reset of *all* object loaders.
Notes:
- After this change, all nativization workflows (e.g. UAT, UBT and UE4Editor) now look to the 'BlueprintNativizationMethod' flag in the Project settings (UProjectPackagingSettings). This unifies everything on a single flag by default, and removes the feature added in 4.17 that touched the .uproject file when that setting changed (which itself introduced a couple of new regressions in that release).
- Advanced users and build engineers can override this value per task. Instructions to do that are as follows:
- For UAT/UBT/UE4Editor.exe tasks, adding '-ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=<Disabled|Inclusive|Exclusive>' will allow the current setting to be overridden on the command line.
- When '-cook' is included on the RunUAT BuildCookRun command line, the above needs to also be embedded within the '-AdditionalCookerOptions' command-line argument. This means that if both '-cook' and '-build' are included, then both the '-ini' argument shown above as well as the same '-ini' argument embedded inside the '-AdditionalCookerOptions' argument will need to be included for the build pipeline to work properly.
- We should add a release note instructing users to check their .uproject file and remove any 'AdditionalPluginDirectories' entries that list the "Intermediate/Plugins" path. This will avoid issues when building the cooked target with UBT.
- We should also add a release note and/or documentation to explain the "advanced" build pipeline options (i.e. the '-ini' argument noted above).
Change 3665061 by Phillip.Kavan
Fix crash on load in a nativized build caused by a reference to a BP class containing a nativized enum.
Mirrored from //UE4/Release-4.18 (CL# 3664993).
#3969
#jira UE-49233
Change 3665108 by Marc.Audy
(4.18) Fix crash when diffing a blueprint whose older version's parent blueprint has been deleted
+ additional code cleanup
#jira UE-50076
Change 3665114 by Marc.Audy
Minor change that could potentially improve performance in some cases
Change 3665410 by Mieszko.Zielinski
Fixed naming of Vislog's BP API #UE4
Change 3665634 by Ben.Zeigler
#jira UE-50045 Mark PIE-duplicated packages as explicitly fully loaded to fix PIE networking crash. These used to be accidentally treated as fully loaded because it was checking the wrong package name on disk
Change 3666970 by Phillip.Kavan
Do not emit a BOM when generating nativized Blueprint asset source files encoded as UTF-8.
#jira UE-46814
Change 3667058 by Phillip.Kavan
Ensure that '-build' is always passed to BuildCookRun automation for projects configured with Blueprint nativization enabled so that it doesn't skip that stage.
Mirrored from //UE4/Release-4.18 (CL# 3667043).
#jira UE-50403
Change 3667150 by Mieszko.Zielinski
PR #4042: BT CompositeDecorator node clears RF_Transient flag for all owned Decorator nodes. (Contributed by BibbitM)
Minor tweak from the original PR - made UBehaviorTreeDecoratorGraphNode_Decorator::ResetNodeOwner protected and added UBehaviorTreeGraphNode_CompositeDecorator class a a friend.
#jira UE-50249
Change 3667152 by Mieszko.Zielinski
PR #4047: Clearing RF_Transient flag when reseting EQS node owner - single change. (Contributed by BibbitM)
#jira UE-50298
Change 3667166 by Mieszko.Zielinski
Fixed FRichCurve baking so that it doesn't loose its curvature #UE4
Also, added some baking sanity checking (like if the range is larger than a single point).
Change 3668025 by Dan.Oconnor
Added a step to the compilation manager to skip recompilation of classes that are dependent on a given classes function signatures when those signatures have not changed
#jira UE-50453
Change 3672063 by Ben.Zeigler
#jira UE-49049 Fix issue with StreamableHandle ParentHandles array being modified during iteration, I had already fixed the Cancel case but not the complete case
Change 3672306 by Ben.Zeigler
#jira UE-50571 Fix issue where PrimaryAsset blueprints would be incorrectly added to the dictionary if their base class had an active class redirect referencing it
Change 3672683 by Marc.Audy
Code cleanup
Change 3672749 by Ben.Zeigler
Fix issue where deleting a source package would not cause the generated cooked package to get deleted while doing an incremental build
Change 3672831 by Ben.Zeigler
#jira UE-50507 Add a cook/save warning when a registered PrimaryAssetId does not match the object's real exported PrimaryAssetId.
Make PrimaryDataAsset blueprintable so you can make primary assets in a blueprint-only project
Change 3673551 by Ben.Zeigler
#jira UE-50029 Fix it so data-only blueprints will never create a UCS function in the final class. If you manually compiled the blueprint or it got recompiled due to inheritance it would create a UCS function that just calls its parent, which could cause problems later on when it did not create a UCS function during normal load
Change 3675074 by mason.seay
Test map for VisLog Testing
Change 3675084 by Mieszko.Zielinski
Fixed BT editor constantly marking BT asset as dirty if it has a "RunBehavior" node #UE4
#jira UE-43430
Change 3676490 by Ben.Zeigler
#jira UE-50635 Fix it so directly blueprinting PrimaryDataAsset will give you a useful PrimaryAssetType. Unless overridden the Type of a PrimaryDataAsset will be the first native class found in the hierarchy, or the the blueprint class that directly blueprints PrimaryDataAsset
Change 3676579 by Lukasz.Furman
fixed crash in behavior tree's search rollback
Change 3676586 by Lukasz.Furman
added local scope mode to behavior tree's composite nodes
Change 3676587 by Ben.Zeigler
Swap PrimaryAssetId property customization to use the same ui as the Pin customization. This one better handles objects that aren't loaded into memory, the old Property one would show None in that case
Add browse, use selected, and clear buttons, and make ID selector font the normal property font
Change 3676715 by Lukasz.Furman
changed order of behavior tree's aux node ticking
Change 3676867 by Ben.Zeigler
#jira UE-50665 Fix issue where resolving Soft Object Ptrs that are stored inside static assets or Blueprint CDOs from PIE will return the editor actor, not the PIE actor. So when resolving a path/ptr during PIE add a failsafe to do a PIE fixup
Fix issue where Lazy pointer fixup could corrupt Soft Object Ptrs by applying the PIE fixup too early
Change 3677892 by Ben.Zeigler
Fix crash when additional level viewport sprites are added after level editor module is loaded. This is basically the same fix as CL #3491406, but for sprites
Change 3678247 by Marc.Audy
Fix static analysis warning
Change 3678357 by Ben.Zeigler
#jira UE-50696 Add some container variables to diff test to track down crashes
Change 3678385 by Ben.Zeigler
#jira UE-50696 Fix crash diffing blueprints where array properties were changed. It needs to not run the generic identical check until it's sure the container types match
Change 3678600 by Ben.Zeigler
#jira UE-50703 Fix crash when a soft actor reference is not actually pointing to an actor, treat it like a broken reference
Change 3679075 by Dan.Oconnor
Mirror 3679030 from Release-4.18
Fix crash when compiling a level blueprint that has delegates to a blueprint that it also has a direct dependency on
#jira UE-48692
Change 3679087 by Dan.Oconnor
Filter out unnecessary relink jobs from the compilation manager
#jira None
Change 3680221 by Ben.Zeigler
#jira UE-50764 Fix crash when converting a property from a soft object reference to hard, it needs to validate the class after the conversion and null if necessary
Change 3680561 by Lukasz.Furman
fixed unsafe StopTree calls in behavior tree
#jira nope
Change 3680788 by Ben.Zeigler
Fix issue where scrubbing sequencer in simulate would not modify actors. We need to temporarily set the PIE context global when doing this specific type of actor bind
Change 3683001 by mason.seay
Submitting various test maps and assets
Change 3686837 by Mieszko.Zielinski
Fixed NavMeshBoundsVolume not updating navmesh when its location gets changed via the Transform Details widget #Orion
#jira UE-50857
Change 3688451 by Marc.Audy
Fix up new material expression to work with String -> Name refactor
Change 3689097 by Mason.Seay
Test content for nativization and enum testing
Change 3689106 by Mieszko.Zielinski
Made NavMeshBoundsVolume react to undo in the editor #Orion
#jira UE-51013
Change 3689347 by Mieszko.Zielinski
Fixed a crash on FAIDynamicParam creation resulting from uninitialized member variables #UE4
Manual merge of CL#3689316 over from 4.18
#jira UE-51019
Change 3692524 by mason.seay
Moved some assets to folder for org, fixed up redirectors
Change 3692540 by mason.seay
Renaming test maps so they are clearly indicated for testing nativization
Change 3692577 by mason.seay
Deleted a bunch of old assets I created specifically for various bugs reported. All issues are closed so they're no longer needed
Change 3692724 by mason.seay
Deleting handful of assets found in developer folders of those no longer with the team. Moved assets that are still used by test maps
Change 3693184 by mason.seay
Assets for testing nativization with structs
Change 3693367 by mason.seay
Improvements to test content
Change 3695395 by Dan.Oconnor
Fix for rare linker issue, IsBlueprintFinalizationPending would return true when we were trying to force load subobjects that were now ready to be loaded. This would prevent some placeholder objects from being replaced
#jira None
Change 3695484 by Marc.Audy
Fix sound cue connection drawing policy not getting returned.
#jira UE-51032
Change 3695494 by mason.seay
More test content for nativization testing
Change 3697829 by Mieszko.Zielinski
PR #4104: Fixed a typo CaclulateMaxTilesCount to CalculateMaxTilesCount (Contributed by YuchenMei)
Change 3700541 by mason.seay
Test map for containers with function bug
Change 3703459 by Marc.Audy
Remove poorly named InverseLerp
Fix degenerate behavior returning bad value
#jira UE-50295
Change 3703803 by Marc.Audy
Clean up autos
Minor improvement to ShouldGenerateCluster
Change 3704496 by Mason.Seay
More test content for testing nativization
Change 3706314 by Marc.Audy
PR #4085: GetDefaultPawnClassForController -> BlueprintCallable (Contributed by Allar)
#jira UE-50874
Change 3707502 by Mason.Seay
Final changes to nativization test content (hopefully)
Change 3709478 by Marc.Audy
PR #4144: Exposed MassageAxisInput for inheritence (Contributed by jackknobel)
Same as CL# 3689702 implemented in Fortnite
#jira UE-51453
Change 3709967 by Marc.Audy
PR #4139: fixed a typo in a comment (Contributed by derekvanvliet)
#jira UE-51372
Change 3709970 by Marc.Audy
PR #4150: Fixed a typo in movement override comment (Contributed by ruffenman)
#jira UE-51495
Change 3709971 by Marc.Audy
PR #4149: Fixing typo on movement pawn component (Contributed by celsodantas)
#jira UE-51492
Change 3710041 by Marc.Audy
Minor code cleanup
Change 3711223 by Phillip.Kavan
Move some Blueprint nativization log spam into the verbose category.
#jira UE-49770
Change 3713398 by Marc.Audy
PR #4157: Renamed AActor::InternalTakePointDamage function's parameter. (Contributed by BibbitM)
#jira UE-51517
Change 3713601 by Marc.Audy
Fix merge error
Change 3713994 by Marc.Audy
(4.18) Just mark level script actor pending kill when the level script blueprint has been recompiled, instead of trying to send it through the destroy actor lifecycle event.
#jira UE-50738
Change 3714270 by Marc.Audy
Fix crashes with tickables as a result of virtuals not being usable in constructors/destructors
#jira UE-51534
Change 3714406 by Marc.Audy
Fix dumb inverted boolean check
Change 3716594 by Dan.Oconnor
Integrate 3681301 from 4.18
Only run OnLevelScriptBlueprintChanged when explicitly compiling a level blueprint, this matches the old behavior
#jira UE-50780, UE-51568
Change 3686450 by Marc.Audy
PinCategory, PinSubcategory, and PinName are now stored as FName instead of FString.
CreatePin has several simplified overrides so you can only specify Subcategory or SubcategoryObject or neither.
CreatePin also takes a parameter bundle for reference, const, container type, index, and value terminal type rather than a long list of default parameters.
Material Expressions now store input and output names as FName instead of FString
FNiagaraParameterHandle now stores the parameter handle, namespace, and name as FName instead of FString
Most existing pin related functions using string have been deprecated.
Change 3713796 by Marc.Audy
Added virtual GetTickableType function to FTickableBaseObject that can return Conditional (default), Always, or Never. Tickable Never objects will not get added to the tickable array or ever evaluated. Tickable Always objects do not call IsTickable and assume it will return true. Tickable Conditional objects work as in the past with IsTickable called each frame to make the determination whether to call Tick or not.
IsTickable no longer a pure virtual (defaults to true).
Applied fixes to avoid array corruption when a FTickableEditorObject is deleted during the tick phase consistent with previous fixes to FTickableGameObject.
Change 3638554 by Marc.Audy
Add enum expansion functional test to validate that the metadata ExpandEnumAsExecs works as expected.
Change 3676502 by Ben.Zeigler
Add Blueprint-only primary asset type to EngineTest, to cover testing UE-50635
[CL 3718205 by Marc Audy in Main branch]
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3582363 by Marc.Audy
Make ComponentToWorld fully private and remove deprecation informing of this
#jira UE-46286
Change 3582885 by Ben.Zeigler
#jira UE-47642 Add ToString for SoftObjectReference/SoftClassReference/PrimaryAssetId/PrimaryAssetType to use for debugging. The other direction is not provided because the type validation cannot be done at runtime
Change 3584468 by Ben.Zeigler
#jira UE-48301 Avoid infinite recursion crash when cooking client/server only component blueprints
Change 3584596 by Marc.Audy
(4.17) Ensure that old user defined structs have their members properly marked as blueprint visible
#jira UE-48346
Change 3586057 by Ben.Zeigler
#jira UE-48413 Fix issue where running a dedicated server with a fixed framerate could cause a time crash because the "last time" was out of sync. Clarified code to indicate which times are real and which are logical. This manifested as a crash in EngineTest but could happen in any game with a fixed framerate
Change 3588211 by Marc.Audy
PR #3889: Added BLUEPRINTGRAPH_API module specifier to the input nodes. (Contributed by karanseqwb)
#jira UE-48318
Change 3588826 by Marc.Audy
Don't ensure when connecting the output pin of a create delegate node to a wildcard input
#jira UE-48157
Change 3588827 by Marc.Audy
Always throw error when unable to validate a link connection instead of allowing totally broken content to compile
Change 3588872 by Ben.Zeigler
#jira UE-48457 Add Export To CSV to content browser/asset audit windows that are in the column view. This is useful for preparing memory/disk usage reports
Change 3589134 by Dan.Oconnor
Mirror 3585244 from Release 4.17
Run actor construction via UBlueprint::BroadcastCompiled after reinstancing, matching non-compilation manager behavior
#jira UE-48189
Change 3589140 by Dan.Oconnor
Mirror 3588406 from Release-4.17
Set "WorldContext" metadata earlier in the compilation process, so that it can be used reliably in other blueprints. This fixes occasionally 'None' WorldContext references
#jira UE-48464
Change 3589141 by Dan.Oconnor
Mirror 3588681 from Release-4.17
Set Default values and CallInEditor meta data for event nodes
#jira UE-48386
Change 3590690 by Ben.Zeigler
#jira UE-48509 Fix crash in incremental cook when a file in the incremental cook was deleted from p4
Change 3590909 by Ben.Zeigler
#jira UE-48509 Fix crash in incremental cooker when DDC data is not built for a package that is skipped for rebuilding. The cached data would not be checked for completness, but would assert becuase it was not complete.
WillNeverCacheCookedPlatformDataAgain no longer does anything other than assert, so remove it.
Change 3591386 by Marc.Audy
Split pins are now correctly handled when expanding macros and functions.
#jira UE-47747
Change 3591939 by Dan.Oconnor
Mirror 3591923 from Release-4.17
Split ReplaceInstancesOfClass_Inner into two passes, one for objects and one for actors because actor reconstruction needs all components to be of final class type (e.g. not REINST_ or HOT_RELOAD_)
#jira UE-48250
Change 3593243 by Marc.Audy
PR #3910: Add FQuat initialization from FString (Contributed by cneumann)
#jira UE-48534
Change 3593407 by Marc.Audy
Properly expose Lex::To/FromString for FName
Change 3593648 by Marc.Audy
Refactor AActor::PostEditUndo to have a single implementation to avoid incosistent fixes
Change 3593917 by Marc.Audy
Improved comment
Change 3594501 by Marc.Audy
Fix biased shuffle algorithm
#jira UE-48432
Change 3594699 by Ben.Zeigler
#jira UE-48555 Fix crash where async loading flush update callback was happening in the async loading thread, it's supposed to be a game delegate
Fix InstancedStaticMesh to not ensure when loaded via the async loading thread
Change 3595327 by Phillip.Kavan
#jira UE-16485 - Add an option to host global Blueprint searches in a dockable tab that's not tied to any Blueprint editor context.
Change summary:
- Added a few additional Slate editor style descriptors specifically for the Find Results tab.
- Added a private dependency on the 'WorkspaceMenuStructure' module to the 'Kismet' editor module.
- Added a new Blueprint Editor settings option to the "Workflow" section to toggle the feature on/off (now set to 'on' by default).
- Added a UBluepriintEditorSettings::PostEditChangeProperty() implementation to reset FiB state upon changing the experimental toggle switch.
- Modified the FFindResultsSummoner ctor to use an alternate tooltip when the feature is turned on. In that case the "local" Find Results tab will always search only the local BP context.
- Modified FBlueprintEditor::OnRequestClose() to additionally find and close the local Find Results tab if the feature is turned on and we're not in a full BP editor context. This ensures that the local Find Results tab context will be reset to hidden if the option is toggled while a defaults-only BP editor context is active.
- Modified FBlueprintEditor::SummonSearchUI() to invoke the global Find Results tab if the feature is turned on and 'bSetFindWithinBlueprint' is true.
- Simplified FBlueprintEditor::FindInBlueprint_Clicked() and FBlueprintEditor::FindInBlueprints_OnClicked() to call SummonSearchUI().
- Moved the FFindInBlueprintsResult declaration into FindInBlueprintManager.h. Also relocated the ExpandAllChildren API out of this class and into the localized FindInBlueprintsHelpers util class.
- Added new FFindInBlueprintSearchManager public APIs - GetGlobalFindResults() and CloseAllGlobalResults(). Also added a delegate for handling cleanup after a global Find Results tab is closed.
- When the feature is turned on, global Find Results tabs will be named "Find in Blueprints" to correlate to the menu command that's bound to CTRL-SHIFT-F. An index will be appended to the tab name if more than one context is active.
- Extended FFindInBlueprintSearchManager to support spawning and maintaining up to 4 global Find Results widget contexts. These are registered and spawned as "nomad" tabs, but they don't currently auto-insert into the menu. Instead, they are invoked internally by the GetGlobalFindResults() API as needed, in response to the BP editor's "Find in Blueprints" command.
- Extended the SFindInBlueprints widget to support a "locked" state and allow users to toggle it via an SButton. This is visible only in the global Find Results context.
- Extended the SFindInBlueprints widget to support an additional "Find in All Blueprints" button on the local Find Results context. Clicking the button will invoke an unlocked global Find Results tab and initiate a global search with the text taken from the local context. This is visible only in the local Find Results context.
- Removed the "Find in Current Blueprint only" checkbox from the local Find Results context when the feature is enabled. Global searches are instead redirected to the global Find Results tab.
Change 3596499 by Marc.Audy
Fix non-editor CIS error
Change 3596653 by Marc.Audy
When a transaction is cancelled the previous redo buffer will now be restored instead of lost
#jira UE-48513
Change 3598187 by Ben.Zeigler
Add ability for automation command line to run as remote session with Automation StartRemoteSession (SessionGuid). In this mode it waits for external clients to be ready
Fix functional tests to work in editor builds with -game by forcing an asset registry scan
Change 3598193 by Ben.Zeigler
Add support for -TcpMessagingListen=IP:port and TcpMessagingConnect=IP:Port command line options to the TCP messaging layer, this is used by automation to connect a specific device to an editor coordinator.
Change 3600168 by Marc.Audy
(4.17.2) Protect against crash when ParentClass has become null for unknown reasons
#jira UE-47467
Change 3600457 by Ben.Zeigler
Fix issue where nonblocking BSD sockets on some platforms may return EINPROGRESS on initial connect, which should not be treated as an error
Change 3600462 by Ben.Zeigler
Remove platform whitelist from TcpMessaging plugin, this was effectively blocking it on all other platforms
Change 3600685 by Marc.Audy
(4.17.2) ParentClass is known to be able to be null if a class has been deleted without redirector. Allow the class to be marked deprecated under this circumstance.
#jira UE-47467
Change 3600859 by Marc.Audy
(4.17.2) Prevent error pop ups about failing to save world due to save on compile of blueprints
#jira UE-48672
Change 3600918 by Marc.Audy
Transient child actor components should create transient child actors.
#jira UE-48605
Change 3601012 by Ben.Zeigler
Fix TCP Messaging system to work better on non desktop by sleeping for some real time during the thread tick.
Add verbose logs and fix warning spam about thread stats being duplicated by renaming the thread per connection.
Change 3602595 by Marc.Audy
(4.17.2) PR #3930: Fix compiler error for PS4 if a nativized blueprint invokes a method of its own through interface (Contributed by hillin)
#jira UE-48684
Change 3602644 by Ben.Zeigler
Add game game thread asserts to streamable manager to track down possible async loading thread issues
Change 3602745 by Ben.Zeigler
Add Tolerance parameters to AssertEqual_Rotator and Transform, Vector and Float already had them
Change 3602807 by Phillip.Kavan
#jira UE-48426
- Fix runtime crash in a nativized child Blueprint that includes a parent function call node in a replicated function implementation.
Change summary:
- Modified FBlueprintCompilerCppBackend::EmitCallStatmentInner() to append the "_Implementation" postfix to parent RPC calls in a child class RPC implementation.
Change 3602856 by Ben.Zeigler
Fix fixed frame rate to be more stable by computing delta time as doubles, to avoid rounding issues
Change 3602903 by Marc.Audy
Allow Scale to be set on an AnimNotify as well as the spawn emitter gameplay statics
#jira UE-39362
Change 3602963 by Marc.Audy
PR #3762: DisableHaptics disables haptics properly (Contributed by projectgheist)
#jira UE-46960
Change 3603249 by Marc.Audy
Prevent compilation of a blueprint containing a child actor component to mark the blueprint the child actor's class dirty
#jira UE-43328
Change 3603311 by Ben.Zeigler
Add -nocodesign option to disable code signing during staging
Change 3603504 by Ben.Zeigler
#jira UE-27124 Fix crash during PIE by ensuring the world package PIE flag is always set, even if it's loaded via redirector
Change 3604790 by Marc.Audy
Fix inability to undo Add Pin via context menu to make container nodes.
#jira UE-48751
Change 3605079 by mason.seay
Renamed component from Cube to Cylinder, because it's actually a Cylinder
Change 3605113 by Mieszko.Zielinski
PR #3927: Fixed issue of behavior if setting InfiniteLoopTimeoutTime variable (Contributed by yhase7)
Change 3605276 by mason.seay
Fixed comment error in level bp
Change 3605706 by Zak.Middleton
#ue4 - Fix redundant GetDefault<>.
#jira none
Change 3605850 by Zak.Middleton
#ue4 - Fix client assert when trying to send RPCs while connection is pending closure due to queued bunches. ChIndex is -1 during this time, though the channel is not actually closed. Added ensure when calling SendBunch() under this condition to catch future cases like this.
(Mirror CL 3602849 in Fortnite)
#jira FORT-51215, UT-6139
Change 3607677 by Dan.Oconnor
Mirror 3597636 from Release-4.17
Don't clear UClass CDO until after we've duplicated the class, in case class duplication wants to read from the CDO (e.g. when duplicating a class that has ChildActorComponents)
#jira UE-48524
Change 3607704 by Dan.Oconnor
Back out changelist 3607677 - want to obliterate integration record
Change 3607727 by Dan.Oconnor
Mirror 3597636 from Release-4.17 - now with integrations converted to edits
Don't clear UClass CDO until after we've duplicated the class, in case class duplication wants to read from the CDO (e.g. when duplicating a class that has ChildActorComponents)
#jira UE-48524
Change 3607735 by Dan.Oconnor
Mirror 3606248 from Release-4.17
When copying data from old archetypes to new archetypes we want to use delta's from the old instances, but only when reliable (e.g. not CDO)
#jira UE-48697, UE-48465
Change 3607919 by Ben.Zeigler
#jira UE- 48815
Fix issue where StreamableHandle CompletedDelegate wasn't being reset after being called. If this had a payload pointing to the handle the handle would then be kept alive forever due to the reference counting, causing bad memory leaks
Copy of CL #3607743
Change 3608447 by mason.seay
Fixing deprecated node
Change 3608779 by Ben.Zeigler
#jira UE-48762 Do not rename a PIE world in place if it was loaded by redirector, this corrupts the redirector and later crashes if used again
Change 3609860 by Marc.Audy
Allow uint8:1 properties to be used as expose on spawn
#jira FORT-52043
Change 3609877 by Marc.Audy
Reduce size of UProperty and UWidgetBlueprintGeneratedClass by 8 bytes
Reduce size UBlueprintGeneratedClass by 32 bytes
#jira FORT-52043
Change 3609944 by Marc.Audy
Remove unused per instance physics create/destroyed delegates from UActorComponent (reduce size by 224 bytes)
Change 3610009 by mason.seay
Moving assets to another folder for organization
Change 3610840 by Ben.Zeigler
#jira UE-47351 Fix multiple launch ons inside the editor to correctly detect changed source files by refreshing the asset registry each time.
Packages are now always saved to disk before launch on so we just need to load the data off disk and then refresh the registry generators.
Change 3610961 by Ben.Zeigler
Fix it so when a test times out it writes out the full report with a proper error
Fix typo with ErrorCount
Change 3611183 by Marc.Audy
(4.17.2) Don't crash clicking the variable of a deleted component
#jira UE-47678
Change 3611262 by Ben.Zeigler
#jira UE-41412 Fix Delegate ImportText to check the outer chain for owning object before searching all packages, this fixes several issues with copy-pasting actors that have bound delegates
Change 3611667 by Phillip.Kavan
#jira UE-48450
- Fix UHT C++ codegen compile error (regression) after choosing to package with Blueprint nativization enabled if the project includes a converted User-Defined Structure asset.
Change 3612641 by Marc.Audy
Private StaticMesh, remove deprecation warning
Change 3612990 by Marc.Audy
Reduce memory footprint of UClass
Change 3613137 by Ben.Zeigler
#jira UE-44570 Fix issue with GUID struct customization where it would generate a post edit after modifying only the first element in the GUID, which caused the property handle to get invalidated
Change 3613161 by Ben.Zeigler
#jira UE-48372 Add InRange (Int) for Blueprints, and cleanup KismetMathLibrary.h comments
PR #3899
Change 3613192 by Ben.Zeigler
#jira UE-48366 PR #3895 Fix missing small icons within the blueprint Merge and diff tools
Change 3613320 by Mason.Seay
Submitting deleted redirectors
Change 3613321 by Marc.Audy
Shrink AActor 32 bytes
Change 3613326 by Marc.Audy
Move Serialize to be editoronly
Change 3613358 by Phillip.Kavan
#jira UE-48525 - Fix non-native script interface property value initialization for nativized Blueprint class default objects.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to special-case interface property values when emitting initialization code for converted class subobjects.
Change 3613827 by Marc.Audy
Combine material parameter caches of UMeshComponent in to a single sorted map instead of 3 independent maps (saves ~224 bytes)
Change 3613841 by Ben.Zeigler
#jira UE-48800 Fix crash with undoing blueprint changes while blueprint differ is open, it now listens for blueprint changes
Change 3614031 by Marc.Audy
Fix initialization order
Change 3614033 by Marc.Audy
Use Reset instead of Empty in get functions
Change 3615211 by Ben.Zeigler
Fix CIS warning
Change 3615386 by Ben.Zeigler
#jira UE-48976 Fix crash compiling user struct when out of date nodes point to it
Change 3615571 by Ben.Zeigler
#jira UE-48974 Fix crash trying to reconnect blueprint pins with null connections
Change 3615844 by Marc.Audy
(4.17.2) Reexpose WeightedBlendables/Post Process Materials to blueprints
#jira UE-48977
Change 3615887 by Marc.Audy
(4.17.2) Don't crash getting context menu actions if the variable get doesn't have a value pin
#jira UE-48970
Change 3615965 by Dan.Oconnor
Make sure that depedent blueprints are bytecode recompiled (e.g. child blueprints that are also dependent must also be bytecode recompiled), also no longer call RefreshNodes on dependent blueprints of interfaces, as this is no longer needed and can result in incoherent skeleton class hierarchies
#jira UE-48429, UE-48433, UE-48437, UE-48445, UE-48692
Change 3616149 by mason.seay
Updated BP for more thorough Find in BP testing
Change 3616261 by Dan.Oconnor
Mirror 3594264 and 3594798 from Release-4.17
Fix crash after compiling a blueprint that has an invalid ParentClass
#jira UE-48430, UE-48903
Change 3616816 by Zak.Middleton
#ue4 - Add GetTargetRotation() to SpringArmComponent, which returns the rotation target based on the combination of various rotation setting flags (bUsePawnControlRotation, bInheritPitch, bInheritYaw, bInheritRoll, absolute rotation flags).
#jira UE-48351
Change 3616934 by Phillip.Kavan
#jira UE-48877 - Close a disabled new-style global find tab if docked after restoring a previously-saved Blueprint editor layout.
Change summary:
- Modified FBlueprintEditor::PostLayoutBlueprintEditorInitialization() to close any active global tabs after restoring from a saved layout if the option is disabled.
Change 3616946 by Phillip.Kavan
#jira UE-48595 - Global FiB Results are now accessible through the main Window menu.
Change 3618007 by Marc.Audy
(4.17.2) Ensure that RootComponent is correct after undo/redo
#jira UE-48995
Change 3618014 by Phillip.Kavan
#jira UE-49025 - Fix global FiB menu item names.
Change 3618206 by Dan.Oconnor
Make sure instances in the same package as a UBlueprintGeneratedClass are properly created after the CDO
#jira UE-47991, UE-47726
Change 3618211 by Dan.Oconnor
Fix 'bad' USE_DEFERRED_DEPENDENCY_CHECK_VERIFICATION_TEST - this is only broken until we get the fix from core that restores CLASS_Intrinsic
Change 3618299 by Zak.Middleton
#ue4 - Fix comment in GetComponents (UActorComponent version)
#jira none
Change 3618409 by Marc.Audy
Make linker placeholder properly support map and set properties
#jira UE-48925
Change 3618436 by Marc.Audy
Fix shadow variable
Change 3618682 by Ben.Zeigler
Fix issue where pressing escape or losing focus while using a SpinBox would leave the UI in a state where the SpinBox could never be used again, caused by CL #3173966. Also fix the initial value to be correct the first time it is dragged
Change 3618783 by Ben.Zeigler
Fix several issues with the Component Transform details UI
#jira UE-48959 Fix it so the world/relative transform type bools are correctly propagated to inherited components when modified via editor customizations
#jira UE-48963 Refactor Transform customization to handle paste and reset to default as atomic operations, allowing them to work properly on blueprint component instances
#jira UE-48960 Correctly notify blueprint system when component transforms are changed
#jira UE-4311 Preserve exact rotation typed into component rotation field in most cases
Fix the "Reset to Defaults" icon to be correct in transform details
Change 3618904 by Ben.Zeigler
#jira UE-489999 Fix blueprint breakpoint crash when breakpoint data is out of date with UI
Change 3618984 by Zak.Middleton
#ue4 - Reduce memory churn/allocations when duplicating for PIE.
#jira none
Change 3619895 by Marc.Audy
Very minor cleanup
Change 3620129 by Marc.Audy
PR #3958: Exposing GetOwningPlayerController and GetOwningPawn as public in AHUD. (Contributed by ill)
#jira UE-49083
Change 3620350 by Lukasz.Furman
restored intended behavior of path following's acceptance radius: additive with goal and agent radii (included when FAIMoveRequest flags allow it)
copy of CL# 3618825, 3618828
#ue4
Change 3620628 by Zak.Middleton
#ue4 - Moved hardcoded limits on FCollisionShape extents to a static value and refactored external code to reference that instead.
Fixed Capsules where axis length (half-height - radius) < 1 were clamped to a new capsule with axis length of 1. Changed the clamp threshold to 1e-4 and changed FPhysXShapeAdaptor to use a Sphere instead when Radius >= HalfHeight.
This would cause sweeps using the capsule params to use a capsule of a different size, up to 1 UU different along the axis.
#jira UE-49035
Change 3620700 by Lukasz.Furman
moved blackboard decortator's version of requesting abort to parent class, so all decorators can use it with external events
#ue4
Change 3620716 by mason.seay
Test map for flow control save issue
Change 3620723 by mason.seay
Minor improvement
Change 3620792 by Ben.Zeigler
Clang doesn't like template specializations in classes, switch to an overload instead to fix CIS
Change 3621084 by Marc.Audy
Fix NegateInt/Float in StandardMacros
#jira UE-36242
#jira UE-36470
Change 3621152 by Marc.Audy
Fix backwards compatibility on FEdGraphPinType for particularly old blueprints.
#jira UE-49111
Change 3621246 by mason.seay
Test BP for UE-48800
Change 3621257 by Michael.Noland
Animation: Corrected a comment on the LegIK node
Change 3621480 by Zak.Middleton
#ue4 - Added FTransform::TransformRotation(FQuat) and FTransform::InverseTransformRotation(FQuat). Added matching Blueprint library functions taking FRotator.
#jira UE-39088
#github PR 2985 (modified)
Change 3621685 by Phillip.Kavan
#jira UE-49024 - Add/remove global FiB menu items from the Main Menu when the global FiB option is enabled/disabled.
Change summary:
- Added FFindInBlueprintSearchManager::EnableGlobalFindResults(). Now using this API to enable/disable both the Main menu items as well as the global FiB workflow change within the BP editor context.
- Renamed FFindInBlueprintSearchManager::CloseAllGlobalResults() to CloseOrphanedGlobalFindResultsTabs(). This is now being called to clean up any orphaned global FiB tabs when opening the BP editor context.
Change 3622629 by Marc.Audy
Reduce memory footprint of UMG/Slate classes: UWidget, UBorder, UImage, UUserWidget, SWidget, SButton, SOverlay, SBoxPanel, SInlineEditableTextBlock, FSlateFontInfo, EVisibility, FSlateBrush, FCheckBoxStyle, FButtonStyle, FComboBoxStyle
Change 3622779 by Zak.Middleton
#ue4 - Rename USceneComponent::bWorldToComponentUpdated to bComponentToWorldUpdated (since the transform is called ComponentToWorld).
#jira none
Change 3623020 by Marc.Audy
Fix initialization order
Change 3623021 by Marc.Audy
Reorganize USceneComponent to improve cache coherency
Change 3623261 by Ben.Zeigler
#jira UE-48555: Fix for corruption of shared pointers by the async loading thread. It is unsafe to copy delegates by value on the async loading threads because they may have shared pointers on them that are being used by the main thread. Instead of copying by value, we now allocate once on the game thread and copy by TUniquePtr.
Change 3623294 by Marc.Audy
Realign UActorComponent to avoid members crossing cache lines
Change 3623383 by Marc.Audy
Compress UParticleSystemComponent and fix up cases of members crossing cache lines
Change 3623492 by Marc.Audy
(4.17.2) Fix pin values on function nodes not correctly carrying the value between reloads/refreshes
#jira UE-49189
#jira UE-49196
Change 3623573 by Ben.Zeigler
#jira UE-49223 Fix crash when undoing changes to actors that have been recompiled. We need to skip most of PostEditUndo when the class is out of date and this got broken in a recent refactor
Change 3623642 by Dan.Oconnor
Make sure we don't attempt to defer exports that rely on CDOs that have been regenerated
#jira UE-49211
Change 3623719 by Marc.Audy
PR #3387: Added new Swap method (blueprint KismetArrayLibrary). (Contributed by RChehowski)
#jira UE-42970
Change 3624191 by Marc.Audy
Cache GetWorld()
Change 3624232 by Marc.Audy
Remove accidentally checked in change
Change 3624688 by Marc.Audy
PR #3491: Client play force feedback can now ignore time dilation. (Contributed by miracle7)
Force feedback component can also ignore time dilation
#jira UE-44155
Change 3624880 by Marc.Audy
PR #3970: SpawnObject not checking for a nullptr causing an editor crash
Change 3625740 by Mason.Seay
Check in the correct file this time...
Change 3625806 by Ben.Zeigler
#jira UE-48555 Code review fix for async loading thread fixes, disable an assert when cancel is called in non-EDL, and add comment + assert if Cancel is re-enabled for EDL in the future
Change 3626128 by Marc.Audy
Fix dragging off component tree in to graph showing an error message
#jira UE-49114
Change 3626655 by Ben.Zeigler
#jira OR-43846 Fix asset import objects to correctly load off disk again. They aren't marked as SubObjects so the special case code to add the NeedsLoad flag wasn't getting hit. Change it so in the editor it marks all unloaded subobjects as needs load, need to talk to Core about rather this fix should be editor specific or not
Change 3626740 by Marc.Audy
Fix compile errors when nativizing when a property references a sub object of a dervied type with modified default properties
#jira UE-49276
Change 3626831 by Marc.Audy
Remove BOM
Change 3627162 by Phillip.Kavan
#jira UE-49239 - Fix an invalid cast emitted to nativized codegen for converted AnimBP types.
- Regression introduced in CL# 3613358.
Change 3628051 by Marc.Audy
Fix spelling of redundant
#jira UE-49343
Change 3596437 by Marc.Audy
Don't copy metadata unnecessarily
Change 3613302 by Marc.Audy
Reduce size of UStaticMeshComponent by 224 bytes (cumulative, 56 bytes exclusive)
Reduce size of UPrimitiveComponent by 176 bytes (cumulative, 64 bytes exclusive).
Reduce size of USceneComponent by 112 bytes.
Reduce size of FLightingChannels from 3 bytes to 1.
Reduce size of FBodyInstance by 16 bytes.
Change 3620363 by Lukasz.Furman
split UBTTask_MoveTo.bStopOnOverlap flag to separate goal & agent parts to match actual parameters of AI move request, added simple versioning for behavior tree nodes
copy of CL# 3620248
#ue4
Change 3622569 by Marc.Audy
Remove unnecessarily deprecated visibility member and use redirect instead
Change 3624879 by Marc.Audy
Add a deprecated version of ClientPlayForceFeedback for backwards compatibility.
Adjust existing game calls to ClientPlayrForceFeedback to use new API
[CL 3628687 by Marc Audy in Main branch]
#lockdown Nick.Penwarden
#rb none
#rnx
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3343905 by Dan.Oconnor
ResolveMember optimizations and moved into cpp. ResolveMember<UFunction> now checks UClass::FuncMap before doing more expensive searches
Change 3346637 by Ben.Zeigler
Actually fix in non editor builds
Change 3355484 by Dan.Oconnor
Back out FMemberReference Optimization
Change 3425833 by Ben.Zeigler
#jira UE-31749 Fix it so Undo works properly when modifying a local variable
#jira UE-44736 Fix it so changing the type of a local variable correctly resets the default value
Change 3510091 by Marc.Audy
Expose on Spawn functional test
#rnx
Change 3510100 by Marc.Audy
Fix spelling error
#rnx
Change 3510132 by Marc.Audy
Fix issues with marking a widget blueprint class as abstract
Change 3510133 by Marc.Audy
Minor code cleanup
#rnx
Change 3510178 by Ben.Zeigler
#jira UE-46500 Fix it so editor-only and transient stuct members are not serialized for literal blueprint structs. It's unsafe to serialize them because they may not exist in the cooked build
Change 3510466 by Ben.Zeigler
Start adding basic ability system tests to enginetest, very minimal so far
Change 3511295 by Marc.Audy
Fix wasted work going weak -> object -> weak -> object
#rnx
Change 3511824 by Marc.Audy
Fix spelling error in tooltip
#jira UE-46515
#rnx
Change 3514446 by Ben.Zeigler
Fix ActorBoundEvent and ComponentBoundEvent to always refresh their event signature from the delegate property they are bound to. This is required to correctly deal with delegate signatures being moved or renamed. Both types now do the fixup one time, in ReconstructNode.
Change 3514578 by Marc.Audy
Move clearing of the actor component need end of frame update mark to base class instead of just primitive component
Change 3514583 by Ben.Zeigler
Better fix to last delegate checkin that also handles moving functions between modules but not renaming
Change 3515325 by Dan.Oconnor
Fix for rare orphan pin false positive, rare exposed on spawn false positive
#rnx
Change 3515761 by Marc.Audy
fix shipping configuration
#rnx
Change 3515772 by Marc.Audy
Fix static analysis warnings
#rnx
Change 3516287 by Marc.Audy
Fix references to instanced components not being updated when resetting component to default
#jira UE-44706
#rnx
Change 3516303 by Marc.Audy
Back out CL# 3516287 while an oddity is investigated
#rnx
Change 3516563 by Marc.Audy
(4.17) Fix references to instanced components not being updated when resetting component to default
#jira UE-44706
Change 3516637 by Phillip.Kavan
#jira UE-44661 - Fix potential crash when changing the ChildActorComponent class default value on a Blueprint that also sets the class in the Construction Script.
Change summary:
- Modified UChildActorComponent::DestroyChildActor() to move the check for PendingKill/Unreachable so that we can also rename a defunct ChildActor instance out of the way in order to allow for a new ChildActor instance w/ the cached name.
Change 3517735 by Marc.Audy
Avoid unnecessary string copy
#rnx
Change 3517931 by Marc.Audy
Small optimization to CleanupActors
Change 3518221 by Dan.Oconnor
Fix rare crash when running ConformImplementedEvents when async loading
#jira UE-45348
Change 3518270 by Ben.Zeigler
#jira UE-46574 Add FCollectionReference type and customization to allow setting an FName to an editor collection
Add AssetCollection to PrimaryAssetLabel that derives the bundled assets from an editor collection
Change 3518271 by Marc.Audy
Get rid of unnecessary construction differentiation if custom reset is being used
Change 3518310 by Ben.Marsh
Re-adding IOS files with correct case.
Change 3518423 by Ben.Zeigler
#jira UE-46574 Initial support for chunk installation in Asset Manager.
Refactor AssetManagerSettings so it copies runtime bools into the asset manager for fast access
Add a concept of a stalled streamable manager handle, handles can be created stalled and will not execute their async load until all needed resources have been acquired externally
Change 3518480 by Marc.Audy
Correctly get the variable reference for an input variable get from the member scope rather than a member variable of the same name on the class
#jira UE-46737
Change 3518498 by Ben.Zeigler
Fix bug with AssetManager where requesting the same load twice in a row before the first one finishes caused the complete callback to get called too early for the second load
Update test map to catch this
Change 3518526 by Ben.Zeigler
IOS Fix
Change 3518619 by Ben.Zeigler
#jira UE-46744 Fix issue where refreshing asset manager editor settings would throw away asset label rules overrides, causing the recursive flag to accidentally get set
Change 3518747 by Phillip.Kavan
#jira UE-43154 - Prevent ConstructGenericObject nodes from compiling if the selected type does not include 'BlueprintType' in its inheritance hierarchy.
Change summary:
- Moved UGameplayStatics::CanSpawnObjectOfClass() into UK2Node_GenericCreateObject as a local util method (per JIRA notes). This was not exposed to Blueprints and as such was inconsistent with the rest of the API.
- Modified UGameplayStatics::SpawnObject() to no longer call CanSpawnObjectOfClass(). This seemed redundant as this will already have been called during node validation at Blueprint compile time.
- Refactored CanSpawnObjectOfClass() into FK2Node_GenericCreateObject_Utils. Walking up the inheritance chain no longer starts out w/ the assumption that 'BlueprintType' is set by default, which was previously including a lot of engine-specific classes into the "allowed" set (e.g. UByteProperty). Also unified the 2 loop iterations that were being used to check for 'BlueprintType'/'NotBlueprintType' and 'DontUseGenericSpawnObjectName', as well as the check for whether or not the class is a derivative of AActor/UActorComponent.
- Modified UK2Node_GenericCreateObject::EarlyValidation() to call FK2Node_GenericCreateObject_Utils::CanSpawnObjectOfClass() and emit a slightly more informative error message to the BP compiler message log.
Change 3518756 by Michael.Noland
(4.17) Framework: Prevent various asserts when USplineComponent methods are called on a spline with no points
Change 3518760 by Michael.Noland
Core: Changed FRuntimeAssetCache ensures to ensureAsRuntimeWarning
Change 3518771 by Michael.Noland
AI: Prevent an ensure in UBlackboardComponent::ClearValue when called on a component with a null BlackboardAsset
Change 3518818 by Michael.Noland
Rendering: Fixed a whitespace issue in UCanvasRenderTarget2D::RepaintCanvas()
#rnx
Change 3518822 by Michael.Noland
Sequencer: Prevented crashes in some methods of UMovieSceneSequencePlayer when there is no Sequence set
Sequencer: Prevented a crash in FMovieSceneRootEvaluationTemplateInstance::Evaluate when the instance has no template set
Change 3518824 by Michael.Noland
Landscape: Marked ULandscapeComponent and ULandscapeHeightfieldCollisionComponent as Within=LandscapeProxy, since they do CastChecked on their Outer all the time
Change 3519073 by Michael.Noland
QAGame: Fixed a crash in UQASynth::PlaySynth() if called on a directly created instance rather than using the factory method
Change 3519076 by Michael.Noland
Preventing crashes in UAutomationPerformaceHelper (sic) when spawned abnormally for fuzzing (assumes that the outer will have a route to a world)
#rnx
Change 3519079 by Michael.Noland
Sequencer: Fixed a potential crash in UMediaPlaylist::Insert and UMediaPlaylist::RemoveAt when passed an invalid index
Change 3519081 by Michael.Noland
Blueprints: Added support for creating appropriate outers for objects that must be nested within another class during fuzzing (ones that specify Within=, other relationships aren't knowable yet)
Change 3519082 by Michael.Noland
VR: Prevent a crash in UMRMeshComponent::ConnectReconstructor when passed a null reconstructor
Change 3519084 by Michael.Noland
Rendering: Prevent crashes when UNiagaraComponent::GetEffectDataInterface is called on a component with no effect asset set
Change 3521889 by Michael.Noland
Sequencer: Prevented a bogus static analysis warning by reworking the code (FixedFrameInterval could have only been set if the pointer were valid from the line above)
#rnx
Change 3521987 by Michael.Noland
Animation: Prevent a couple of potential asserts in UControlRig::GetOrAllocateSubControlRig
Change 3522101 by Michael.Noland
Physics: Improved the comment on UPhysicalMaterial::Friction
#rn
Change 3522105 by Michael.Noland
Physics: Fixed a few crashes in UVehicleWheel when spawned directly
Change 3522106 by Michael.Noland
Framework: Marked ULevelStreaming as Within=World, since it does CastChecked on the Outer all the time
Change 3522109 by Michael.Noland
Animation: Marked UAnimInstance as Within=SkeletalMeshComponent since it assumes the outer in various places
Change 3522121 by Michael.Noland
Mobile: Prevent UMobileInstalledContent methods from crashing when called on a created instance in an uncooked build (no installed manifest)
Change 3522783 by Zak.Middleton
#ue4 - Imported new simple collision for Engine/Content/BasicShaps/Cylinder.uasset which is a single convex shape (rather than being 4 shapes as before).
Change 3525477 by Dan.Oconnor
Remove Tooltip, Category, and HideCategories tooltip from the blueprint generated class if source data is cleared
Change 3526538 by Ben.Zeigler
Refresh primary asset labels if their bundles are different at all and not just if they're added or removed. This is required because they now work based on collections or directories. This fixes issue with the onboarding collection changes not correctly modifying chunks
Copy of CL #3526501
Change 3526817 by Ben.Zeigler
#jira UE-46917 Fix issue where maps that do not contain level script blueprints were being counted as unindexed for find in blueprints. The old behavior depended on detecting the existence of empty tags, but the asset registry now filters those out so treat maps with no FiB data as indexed
Change 3526873 by Ben.Zeigler
#jira UE-46627 Change it so blueprint or native subclasses of static mesh actor cannot be added to clusters, as they are not likely to be immutable the way the base class is
Add code to to the ubergraph frame to fall back to hard reference serialization if the reference collector doesn't support weak references, such as the cluster collector
Change 3526958 by Marc.Audy
(4.17) Don't copy and then break pin links when reconstructing. Instead simply move.
#jira UE-46935
Change 3528916 by Marc.Audy
PR #3609: Adds GetKeysForAxis() to complement GetKeysForAction() in UPlayerInput (Contributed by alanedwardes)
#jira UE-45347
Change 3529080 by mason.seay
BP asset for undetermined type bug
Change 3529381 by Marc.Audy
Fix ability to insert duplicates in to a set or map
Change 3529471 by Dan.Oconnor
Fix for clang 4.0 error: definition of builtin function '__rdtsc' inline unsigned long long __rdtsc()
Change 3530876 by Marc.Audy
Based on PR #3457: Add MakeSet BP node (Contributed by projectgheist)
Also refactored MakeArray/Set to share a base MakeContainer class
Cleaned up some dead code from MakeArray
Added icon for MakeSet
Added Functional Test for MakeSet
#jira UE-43717
Change 3531070 by Phillip.Kavan
#jira UE-46866 - Fix crash on load when an external variable member reference's owning type cannot be loaded.
Change summary:
- Modified FBlueprintEditorUtils::GetSkeletonClass() to check for NULL before attempting to check for the generating BP.
Change 3531081 by Marc.Audy
Remove deprecated CustomMapParamValue code
Change 3531094 by Phillip.Kavan
#jira UE-46952 - Fix a packaging code build failure that will occur with a nativized Blueprint class that contains a UInterfaceProperty.
Change summary:
- Modified TScriptInterface::operator=() to cast the given 'SourceObject' instance to the 'InterfaceType' type before assigning to 'SourceInterface'. This was necessary because if the caller (in this case nativized codegen) passes in a UObject* that does not explicitly inherit from 'InterfaceType', then it will need to go through the object's GetInterfaceAddress() API instead and cast the result back to an 'InterfaceType' pointer.
Change 3531186 by Phillip.Kavan
Back out changelist 3531094 (temp CIS fix).
#rnx
Change 3532082 by Marc.Audy
Move garbage collection timers and other management to UEngine instead of UWorld
Fixes CollectGarbage blueprint node not working in shipping
#jira UE-46566
Change 3532134 by Phillip.Kavan
Restored changelist 3531094 w/ fix for non-unity.
- Mirrored from //UE4/Release-4.17 (CL# 3531232).
#rnx
Change 3533009 by Marc.Audy
Fixup missing function and deprecation warnings
Change 3534056 by Marc.Audy
(4.17) Fix expose on spawn of map and sets to work
#jira UE-47140
Change 3534761 by Marc.Audy
(4.17) Apply code review changes to Dev-Framework as well
#rnx
Change 3535147 by Dan.Oconnor
Build fix, already made in 4.17
#rnx
Change 3535530 by mason.seay
Resaving to remove error when opening level blueprint
Change 3535581 by Marc.Audy
Class Properties are only identical if they are literally the same object. Do not consider the deep compare port flags as object property base does.
#jira UE-46533
Change 3535583 by Marc.Audy
When properties are imported in to a child actor component the cached instance data is invalidated, so clear it.
#jira UE-46533
Change 3535617 by Marc.Audy
PR #3788: UE-39237: Prevent (im-)pure casting during BP debugging (Contributed by projectgheist)
#jira UE-47188
#jira UE-39237
Change 3535671 by Marc.Audy
Change NodeFactory to look at interface to use sequence node instead of each node having to add itself
Change 3535955 by Marc.Audy
Prevent MakeSet from removing split pins
Change 3536114 by Michael.Noland
Paper2D: Removing deprecated code from 4.3/4.4 era
#rnx
Change 3536120 by Michael.Noland
Animation: Removed deprecated FTAlphaBlend class and AlphaBlendType.h header
Change 3536124 by Michael.Noland
Physics: Removed deprecated methods that were replaced by _AssumesLocked variations
Change 3536131 by Michael.Noland
Slate: Converting remaining uses of EKeyboardFocusCause to EFocusCause and properly deprecating it
Change 3536138 by Michael.Noland
Slate: Removed any deprecated code older than 4.10 that didn't affect content compatibility
Change 3536167 by Dan.Oconnor
When a client provides a skeleton class as the self scope, make sure we also use a skel class for non-self scopes - but only if using the compilation manager. Skel classes are not reliably up to date when not using the compilation manager
#jira UE-46904
Change 3536221 by Michael.Noland
Editor: Removing deprecated code from 4.9 or earlier
Change 3536240 by Michael.Noland
Blueprints: Removed long-deprecated TypeToString method from the K2 schema
#rnx
Change 3536243 by Michael.Noland
AI: Prevent crashes if UMockTask_Log is created manually rather than via the CreateTask factory method
Change 3536244 by Michael.Noland
Core: Prevent FScopedExternalProfilerBase::StopScopedTimer() from asserting if called an unmatched number of times with StartScopedTimer, as both are exposed to BPs now
Change 3536250 by Michael.Noland
CoreUObject: Removed any deprecated code older than 4.10 that didn't affect content compatibility
Change 3536253 by Michael.Noland
Core: Removed any deprecated code older than 4.10 that didn't affect content compatibility
Change 3536310 by Michael.Noland
Engine: Removed any deprecated code older than 4.10 that didn't affect content compatibility
Change 3536397 by Mieszko.Zielinski
Fixed UCrowdFollowingComponent::UpdateCachedDirections crashing when CharacterMovement is not set #UE4
#jira UE-46860
Change 3536404 by Michael.Noland
Platform: Added a warning for others when they try to remove this 'deprecated' method
Change 3536639 by Michael.Noland
CharacterMovement: Changed the name of a variable introduced in CL# 3536397 to better match intent
#rnx
Change 3536893 by Michael.Noland
Blueprints: Clear the stale value on the value pin when a map find node fails to find an item
#jira UE-47233
Change 3536902 by Michael.Noland
Framework: Killed a couple of more deprecated methods that were not exposed to Blueprints
#rnx
Change 3537038 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537039 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538246 by Michael.Noland
UnrealTournament: Fixing issues with renamed enum
#rnx
Change 3538618 by Ben.Zeigler
Fix ensure when closing sequencer transform UI
Change 3540213 by Ben.Zeigler
#jira UE-47313 Fix crash serializing a MapProperty where the value type has changed for a type that implements ConvertFromType. The address passed to ConvertFromType needs to be the container root, not the specific value address, keys worked because the offset was 0.
Change 3540253 by Marc.Audy
Only copy default values for input pins as output pins do not have them
#rnx
Change 3540376 by Marc.Audy
Add utility FromPinType for FEdGraphTerminalType
#rnx
Change 3540433 by Marc.Audy
Add MakeMap
#jira UE-47093
Unify IsConnectionDisallowed for containers and fix static analysis warning
#jira UE-47291
Change 3540585 by Phillip.Kavan
#jira UE-47117 - Fix crash on launch of a nativized build that includes an instanced default subobject that's referenced by another instanced default subobject.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to only direct HandleInstancedSubobject() to emit code to create the instanced subobject if it's not a default subobject. This was previously being incorrectly interpreted as an object having the 'RF_ArchetypeObject' flag set; however, default subobjects will also have that flag set in addition to the 'RF_DefaultSubobject' flag.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert in the 'GetDefaultSubobjectByName' case if the given object is not also a default subobject.
Change 3541147 by Dan.Oconnor
Fix for not being able to override custom events when using the compilation manager post 3536167
#jira UE-47292
#rnx
Change 3541177 by Ben.Zeigler
#jira UE-46595, UE-46553 Fix issue where creating a widget template could cause a widget blueprint being cooked to have the wrong package flags, making it appear to be an uncooked package
Copy of CL #3541027
Change 3541325 by Dan.Oconnor
K2node data table data needs to preload data before the compilation queue is flushed
#rnx
#jira UE-47319
Change 3541409 by Michael.Noland
Blueprints: Added code to reapply any active breakpoints after recompilation when using the BP compilation manager
#jira UE-47322
[reimplementing CL# 3541404 in Dev-Framework]
Change 3541418 by Dan.Oconnor
Fix for bad SKEL_ CDO reference in blueprint bytecode
#jira UE-47265
#rnx
Change 3541482 by Dan.Oconnor
Blanket fix up of preload calls that are being done in AllocateDefaultPins. AllocatDefaultPins is not called until compile, meaning if these preload calls load blueprints they will be loaded while the compilation manager is compiling blueprints
#rnx
#jira UE-47319
Change 3541817 by Marc.Audy
Fix static analysis warnings
#rnx
Change 3542299 by Michael.Noland
Blueprints: Speculative fix for static analysis warning
#rnx
Change 3542406 by Marc.Audy
Use a check slow to avoid any cost
#rnx
Change 3542486 by Michael.Noland
Asset Manager: Removing an unnecessary ensure (it's a potentially expected case)
#jira UE-47380
Change 3542659 by Michael.Noland
Blueprints: Clear out null entries in the LastEditedDocuments list during PostLoad() and remove entries when a graph is being deleted to prevent their generation in the first place
#jira UE-47385
Change 3543620 by Dan.Oconnor
Remove overzealous ensure - we may recompile blueprints that are asynchronously loading when a user triggers a synchronous compile
#jira UE-47415
#rnx
Change 3518415 by Ben.Zeigler
#jira UE-46574 Deprecate IPlatformChunkInstall::SetChunkInstallDelgate as it was spelled wrong, was only half implemented, and did not support success vs failure
Replace with AddChunkInstallDelegate, which supports a bool error code and is bound once instead of separately for each chunk. All implementations support this delegate at a basic level, although several could be improved to call the failure delegate in more cases
Change 3534339 by Michael.Noland
Platforms: Changed DEPRECATED() macro description to use 4.xx rather than a speciifc version in examples, so it doesn't show up when removing deprecated code
[CL 3544050 by Marc Audy in Main branch]