Added the abiity to tag and retrieve any anim graph node (similar to how we could reference linked anim graph nodes previously).
Ported linked anim graph nodes to use the new system
Added the ability to reference any anim graph node by tag (via a new custom node, spawnable from the context menu, with the appearance of an actor reference in a level blueprint)
Added tag display and editing in the bottom-right of anim graph nodes
Added new override point to SGraphNodeK2Var to allow for title widget parameters to be overriden by child classes
#jira UE-126286 - Anim node functions: Add anim node references
#rb Jurre.deBaare
#preflight 613a1e0cf9a522000143c253
[CL 17472894 by Thomas Sarkanen in ue5-main 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 3431439 by Marc.Audy
Editor only subobjects shouldn't exist in PIE world
#jira UE-43186
Change 3457323 by Marc.Audy
Undo CL# 3431439 and once again allow (incorrectly) for editor only objects to exist in a PIE world
#jira UE-45087
Change 3499927 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker
#jira UE-43458
Change 3502939 by Michael.Noland
Back out changelist 3499927
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 3544641 by Dan.Oconnor
Remove conditional that is no longer needed, replace with ensure. It is unsafe to change CDO names
#jira OR-38176
Change 3544645 by Dan.Oconnor
In addition to marking nodes as not transient, FBlueprintEditor::ExpandNode needs to mark them as transactional
#jira UE-45248
Change 3545023 by Marc.Audy
Properly encapsulate FPinDeletionQueue
Fix ensure during deletion of split pins when not clearing links
Fix split pins able to end up in delete queue twice during undo/redo
Change 3545025 by Marc.Audy
Properly allow changing the pin type from a struct that is split on the node
#jira UE-47328
Change 3545455 by Ben.Zeigler
Fix issue where combined streamable handles could be freed before their complete callback is called if nothing external referenced them
Copy of CL#3544474
Change 3545456 by Ben.Zeigler
Allow PrimaryAssets to update their AssetData based on in-memory changes when launching 'Standalone Game' and 'Mobile Preview' from the editor. As it was, changes could be detected and propagated through UPrimaryDataAsset::PostLoad, but the changes would always reapply whatever already exists in the AssetRegistry. The primary use-case for this: making AssetBundle tag changes and allowing them to propagate without resaving/recooking all affected assets.
Copy of CL #3544374
Change 3545547 by Ben.Zeigler
CIS Fix
Change 3545568 by Michael.Noland
PR #3758: Fixing a comment typo from Transistion to Transition (Contributed by gsfreema)
#jira UE-46845
Change 3545582 by Michael.Noland
Blueprints: Prevent duplicate messages from being added to the compiler results log (fixes a crash when resizing the results log while a math expression node has an error)
Blueprints: Fixed the tooltip of math expression nodes not showing up, and error messages getting cleared on subsequent compiles
[Duplicating fixes for UE-47491 and UE-47512 from 4.17 to Dev-Framework]
Change 3546528 by Ben.Zeigler
#jira UE-47548
Fix crash when a map's key type has changed but value has not, it was passing the UStruct defaults in when serialize was expecting the default instance, so pass null instead as we don't have the instance
Change 3546544 by Marc.Audy
Fix split pin restoration logic to deal with wildcards and variations in const/refness
Change 3546551 by Marc.Audy
Don't crash if the struct type is missing for whatever reason
Change 3547152 by Marc.Audy
Fix array exporting so you don't end up getting none instead of defaults
#jira UE-47320
Change 3547438 by Marc.Audy
Fix split pins on class defaults
Don't cause a structural change when reapplying a split pin as part of node reconstruction
#jira UE-46935
Change 3547501 by Ben.Zeigler
Fix ensure, it's valid to pass a null path for a dynamic asset
Change 3551185 by Ben.Zeigler
#jira UE-42835 Fix it so SoftObjectPaths work correctly when inside levels loaded for the first time from PIE. Added code to do in-place PIE fixup for levels that are loaded instead of duplicated, and changed the fixup logic to fix all level references, not just ones being explicitly duplicated
Change 3551723 by Ben.Zeigler
Improve UI for displaying actor soft references. Add an error/warning icon if the cross level reference is broken or unloaded, and fix various display and copy/paste behaviors
Change 3553216 by Phillip.Kavan
#jira UE-39303, UE-46268, UE-47519
- Nativized UDS now support external asset dependencies and will construct their own linker import tables on load.
Change summary:
- Modified FCompactBlueprintDependencyData and FFakeImportTableHelper to be more relevant to UStruct and not just UClass-derivative types.
- Modified FBlueprintDependencyData to accept a single FCompactBlueprintDependencyData struct rather than its individual fields.
- Modified FBlueprintCompilerCppBackendBase::GenerateCodeFromStruct() to emit dependency assignment and static type registration functions for nativized UStruct types.
- Modified FBlueprintNativeCodeGenModule::FStatePerPlatform to include an array for tracking UDS assets that need to be converted during the nativization pass at cook time.
- Modified FBlueprintNativeCodeGenModule::GenerateFullyConvertedClasses() to generate nativized code for UDS assets. This ensures that UDS conversion falls under the same scope as BPGC conversion, so that they both feed into the same NativizationSummary context for asset dependency tracking (i.e. since we only have a single global dependency table in the codegen). Also modified InitializeForRerunDebugOnly() to do the same.
- Modified FBlueprintNativeCodeGenModule::Convert() to defer UDS conversion so that it's done at the same time as BPGC conversion (see note above).
- Modified FEmitDefaultValueHelper::AddStaticFunctionsForDependencies() to include support for UStruct types and to conform to changes made to FCompactBlueprintDependencyData.
- Modified FEmitDefaultValueHelper::AddRegisterHelper() to include support for UStruct types.
- Modified FBlueprintNativeCodeGenModule::FindReplacedClassForObject() to ensure that converted User-Defined Enum types are switched to a UEnumProperty at package save time so that any import tables contain the proper class. This is necessary because we nativize User-Defined Enum types as 'enum class' types, and UHT will generate code for those as a UEnumProperty with an "underlying" property. However, non-nativized User-Defined Enum types are referenced as a UByteProperty with a UEnum reference, so we have to fix up all the import tables before saving. Otherwise, EDL will assert on load (see UE-47519).
Change 3553301 by Ben.Zeigler
Fix ensure when passing literal None to SoftObjectPath, it now treats them as empty instead
Change 3553631 by Dan.Oconnor
UField::Serialize no longer serialize's its next ptr, UStruct::Serialize serializes all Children properties instead. This resolves a hard circular dependency between function libraries that EDL detected. It was resolved in an ad hoc way by the old linker. This change was originally submitted in 3499927, but it was incorrectly clearing the UField::Next pointer in UField::Serialize.
#jira UE-43458
Change 3553799 by Ben.Zeigler
Fix issue where calling WaitUntilComplete on a combined handle with Stalled children wouldn't work properly. It now forces all stalled children to start immediately. I also added a warning log when this happens and an ensure if somehow the force didn't work
Copy of CL #3553781
Change 3553896 by Michael.Noland
Blueprints: Allow the autowiring logic to better break and replace existing connections when made (e.g., when dragging a variable onto a compatible pin with an existing connection, break the old connection to allow the new connection to be made)
#jira UE-31031
Change 3553897 by Michael.Noland
Blueprints: Adjust search query when doing 'Find References' on variables from My Blueprints so that bound event nodes show up for components and widgets
#jira UE-37862
Change 3553898 by Michael.Noland
Blueprints: Add the name of the variable directly in the get/set menu options (when dragging from My Blueprints into the graph)
Change 3553909 by Michael.Noland
Blueprints: Added the full name of the type, container type (and value type for maps) to the tooltips for the type picker elements, so long names can be read in full
#jira UE-19710
Change 3554517 by Michael.Noland
Blueprints: Added an option to disable the comment bubble on comment boxes that appears when zoomed out
#jira UE-21810
Change 3554664 by Michael.Noland
Editor: Renamed "Find in CB" command to "Browse" and renamed "Search" (in BP) to "Find", so terminology is consistent and keyboard shortcuts make sense (Ctrl+B for Browse, Ctrl+F for find, not using the term Search anywhere)
#jira UE-27121
Change 3554831 by Dan.Oconnor
Non editor build fix
Change 3554834 by Dan.Oconnor
Actor bound event related warnings now show up in blueprint status when opening level blueprint for first time, improved warning message. Removed unused delegate and return value from FixLevelScriptActorBindings. Can now pass raw strings to blueprint results log (no need for Printf, although padding is not great), UClasses in compiler results log will open the generated blueprint when clicked on
#jira UE-40438
Change 3556157 by Ben.Zeigler
Convert LevelSequenceBindingReference to use FSoftObjectPath so it works properly with redirectors and fixups
Change 3557775 by Michael.Noland
Blueprints: Fixed swapped transaction messages when converting a cast node between pure and impure
#jira UE-36090
Change 3557777 by Michael.Noland
Blueprints: Allow 'Goto Definition' and 'Find References' to be used while stopped at a breakpoint
PR #3774: Expose GotoFunctionDefinition during BP debugging (Contributed by projectgheist)
#jira UE-47024
Change 3560510 by Michael.Noland
Blueprints: Add support for 'goto definition' on Create Event nodes when the Object pin is not hooked up
#jira UE-38912
Change 3560563 by Michael.Noland
Blueprints: Disallow converting a variable get node to impure/back when debugging (no graph mutating operations should be allowed)
Change 3561443 by Ben.Zeigler
Restore code to support gc.DumpPoolStats, was accidentally removed when FGCArrayPool was moved to a header.
Clean up comments around Cleanup function, the functionality to trim the memory pools was integrated into ClearWeakReferences on a prior change
Change 3561658 by Michael.Noland
Blueprints: Refactored 'Goto Definition' so there is no per-class logic in the Blueprint editor or schema any more; any node can opt in individually
- Added a key binding for Goto Definition (Alt+G)
- Added a key binding for Find References (Shift+Alt+F)
- Collapsed 'Goto Code Definition' for variables and functions into the same path, so there aren't separate menu items and commands
- Added new methods CanJumpToDefinition and JumpToDefinition to UEdGraphNode, the default behavior for UK2Node subclasses is to call GetJumpTargetForDoubleClick and call into FKismetEditorUtilities::BringKismetToFocusAttentionOnObject
- Going to a native function now goes thru a better code path that will actually put the source code editor on the function definition, rather than just opening the file containing the definition
Change 3562291 by Ben.Zeigler
Fix issue where calling FSoftObjectPtr::Get during a package save would result in that ptr being forever marked broken, because the ResolveObject fails during save. It's too risky to change that behavior, so change it so the TagAtLastTest doesn't get updated in that case
Change 3562292 by Ben.Zeigler
#jira UE-39042 When renaming or moving actors between levels it now attempts to fix any soft object references from blueprints or sequencer
When deleting actors that are soft referenced by actor/sequencer it will now warn the same way it does for level script. Added IAssetTools::FindSoftReferencesToObject to perform this search
Change it so saving a non-primary world does not result it being dirtied due to the temporary physics scene fixup
Fix issue where the actor name was shown incorrectly in the SSCS tree for actor instances, which meant that if you renamed it you would end up renaming it to the BP's name
Change 3564814 by Ben.Zeigler
#jira UE-47843 Don't set InputKey output pins to AnyKey if empty, this was causing blueprints with key events to constantly dirty themselves
Change 3566707 by Dan.Oconnor
Remove unused code, UClassGenerateCDODuplicatesForHotReload was attempting to create a CDO with a special name, which triggered an ensure. The Duplicated CDO was never used (callign code removed in 3289276 as it was a waste of cycles)
#jira None
Change 3566717 by Michael.Noland
Core: Remove all defintions that contain "_API" from the command line when compiling .rc files (they do not support repsonse files and a too-long command line will fail the compile)
Change 3566771 by Michael.Noland
Editor: Fixing deprecation warning
#jira UE-47922
Change 3567023 by Michael.Noland
Blueprints: Change various TArray<> uses to TSet<> throughout name validation and related code to enable it to scale better to high component or variable counts
Adapted from PR #3708: Fast construction of bp (Contributed by gildor2)
#jira UE-46473
Change 3567304 by Ben.Zeigler
Add bCheckRecursive option to IsEditorOnlyObject that is enabled by default and will check outer/archetype/class.
This is needed for places that call this function from outside of SavePackage.cpp when the editor only mark is set, such as the automation test code
Change 3567398 by Ben.Zeigler
Fix crash when spawning a widget that has no editor WidgetTree, but does have a cooked widget tree template due to tree inheritance
Change 3567729 by Michael.Noland
Blueprints: Clarified message about "{VariableName} is not blueprint visible" to define what that means "(BlueprintReadOnly or BlueprintReadWrite)"
Change 3567739 by Ben.Zeigler
Don't crash if PropertyStruct cannot find it's struct. The function half handled this before, but Preload crashes with a null parameter
Change 3567741 by Ben.Zeigler
Disable optimization for a path test that was crashing in VC2015 in a monolithic build
Change 3568332 by Mieszko.Zielinski
Prevented UAIPerceptionSystem::GetCurrent causing a BP error when WorldContextObject is null #UE4
#jira UE-47948
Change 3568676 by Michael.Noland
Blueprints: Allow editing the tooltip of each enum value in a user defined enum
#jira UE-20036
Known issue: Undo/redo is not currently possible on the tooltip as it is directly stored in package metadata
Change 3569128 by Michael.Noland
Blueprints: Removing the experimental profiler as we won't be returning to it any time soon
#jira UE-46852
Change 3569207 by Michael.Noland
Blueprints: Allow drag-dropping component Blueprint assets into the graph to create Add Component nodes and improved the error message when dragging something that cannot be dropped into an actor Blueprint
#jira UE-8708
Change 3569208 by Michael.Noland
Blueprints: Allow specifying a description for user defined enums (shown in the content browser)
#jira UE-20036
Change 3569209 by Michael.Noland
Editor: Allow adjusting the font size for each individual comment box node in Blueprints and Materials
#jira UE-16085
Change 3570177 by Michael.Noland
Blueprints: Fixed discrepancy between the Structure tab name and the menu option for the tab in the user defined structure editor (now both say Structure Editor)
#jira UE-47962
Change 3570179 by Michael.Noland
Blueprints: Fixed the tooltip of a user defined structure not updating immediately in the content browser after being edited
Change 3570192 by Michael.Noland
Blueprints: Added "(selected)" after the label (in the 'debug filter' dropdown in the Blueprint editor) for actors that are selected in the level editor, which should make it easier to choose the specific actor you want to debug
#jira UE-20709
Change 3571203 by Michael.Noland
Blueprints: Cleanup and refactoring to prepare for turning commented out nodes into an official feature
- Made EnabledState and bUserSetEnabledState private on UEdGraphNode and added new getters/setters
- Introduced IsAutomaticallyPlacedGhostNode() and MakeAutomaticallyPlacedGhostNode() to start decoupling the concept from commented out nodes
- Updated a couple of places that used a hardcoded UberGraphPages[0] into instead editing the most recently interacted with event graph if possible
- Updated 'is data only blueprint' logic to allow multiple ubergraph pages, as long as they're all empty of non-disabled nodes
Change 3571224 by Michael.Noland
Blueprints: Draw banners on development-only and user disabled nodes (excluding 'ghost' nodes like autogenerated event entries in new BPs)
Adapted from PR #2701: Differentiate development nodes in BP (Contributed by projectgheist)
#jira UE-29848
#jira UE-34698
Change 3571279 by Michael.Noland
Blueprints: Changed UK2Node::GetPassThroughPin so that only the execution wire on nodes with exactly one input and one output exec wire will have a corresponding pass-through pin (when there is ambiguity in which exec would be used, e.g., with a branch or sequence or timeline node, the subsequent nodes are now effectively disabled as well)
Change 3571282 by Michael.Noland
Blueprints: Fixed the tooltip for dragging a variable onto an inherited category not showing the 'move to category' hint
Change 3571284 by Michael.Noland
Blueprints: Made wires into/out of a user-disabled node draw verly dimly (other than the passthrough exec if it exists)
Change 3571311 by Ben.Zeigler
Add ActorIteratorFlags which allows overriding which types of actors/levels are iterated by ActorIterator, to allow iterating levels that are not visible.
All of the iteration logic is now in the base and the children just set different flags, which fixes it so TActorIterator does the same level collection check as FActorIterator
Change 3571313 by Ben.Zeigler
Several fixes to automation framework to allow it to work better with Cooked builds.
Change it so the automation test list is a single message. There is no guarantee on order of message packets, so several tests were being missed each time.
Change 3571485 by mason.seay
Test map for Make Set bug
Change 3571501 by Ben.Zeigler
Accidentally undid the UHT fixup for TAssetPtr during my bulk rename
Change 3571531 by Ben.Zeigler
Fix warning messages
Change 3571591 by Michael.Noland
Blueprints: Made drag-dropping assets into a graph to create a component transactional (allowing the action to be undone)
#jira UE-48024
Change 3572938 by Michael.Noland
Blueprints: Fixed a typo in a set function comment
#jira UE-48036
Change 3572941 by Michael.Noland
Blueprints: Made the compact node title for cross and dot product the words cross and dot rather than hard to see . and x symbols
#jira UE-38624
Change 3574816 by mason.seay
Renamed asset to better reflect name of object reference
Change 3574985 by mason.seay
Updated comments and string outputs to list Soft Object Reference
Change 3575740 by Ben.Zeigler
#jira UE-48061 Change it so Editor builds work like cooked builds and always try to reuse existing packages when loading them instead of recreating them in place. Recreating in place does not work well for levels and blueprints, and blueprints already had a hack that was causing this behavior to not activate
Change 3575795 by Ben.Zeigler
#jira UE-48118 Call into the AssetManager as part of the DistillPackages commandlet. This makes sure that ShooterGame and EngineTest end up with the correct content in launcher builds
Change 3576374 by mason.seay
Forgot to submit the deleting of a redirector
Change 3576966 by Ben.Zeigler
#jira UE-48153 Fix issue where actors in streaming levels weren't properly replicating in PIE. It now does the remap path on both send and receive for the manual PC level streaming commands
Change 3577002 by Marc.Audy
Prevent wildcard pins from being connected to exec pins
#jira UE-48148
Change 3577232 by Phillip.Kavan
#jira UE-48034 - Fix EDL assert on load caused by a native reference to a nativized BP class that also references a nativized UDS asset.
Change summary:
- Modified FNativeClassHeaderGenerator::ExportGeneratedStructBodyMacros() to emit the 'ReplaceConverted' package name for the FCompiledInDeferStruct global associated with the nativized UDS asset in the UHT codegen. This brings nativized UDS to parity with nativized BP class assets (it was likely just an oversight initially).
Change 3577710 by Dan.Oconnor
Mirror of 3576977:
Fix for crash when loading cooked uassets that reference functions that are not present
#jira UE-47644
Change 3577723 by Dan.Oconnor
Prevent deferring of classes that are needed to load subobjects
#jira UE-47726
Change 3577741 by Dan.Oconnor
Back out changelist 3577723 - causes crash when starting QAGame in Dev-Framework - not in Release-4.17
Change 3578938 by Ben.Zeigler
#jira UE-27124 Fix issue where renaming a map with legacy map build data would end up with a half-loaded redirector package, becuase the old map build data was still in use. It's possible the call to HandleLegacyMapBuildData should just be in World PostLoad instead of piecemeal in several other places but I am unsure.
Fix it so the redirector cleanup code on map change will not be stopped by non-standalone top level objects, which could be left behind by issues in other systems
Change 3578947 by Marc.Audy
(4.17) Properly expose members of DialogueContext to blueprints
#jira UE-48175
Change 3578952 by Ben.Zeigler
Fix ensure where ParentHandles on a StreamableHandle could be modified while iterating
Change 3579315 by mason.seay
Test map for Make Container nodes
Change 3579600 by Ben.Zeigler
Disable window test on non-desktop platforms as they cannot be resized post launch
Change 3579601 by Ben.Zeigler
#jira UE-48236 Disable optimizations on PS4 for certain math tests pending fixing of platform issue
Change 3579713 by Dan.Oconnor
Prevent crashes when bluepints implement an interface that was deleted
#jira UE-48223
Change 3579719 by Dan.Oconnor
Fix two compilation manager issues: Make sure CDOs are not renamed under a UClass, because they will be considered as possible subobjects, which has bad side effects and make sure that we update references even on empty functions, so that empty UFunctions are not left with references to REINST data
#jira UE-48240
Change 3579745 by Michael.Noland
Blueprints: Improve categorization and reordering support in 'My Blueprints'
- Allow drag-dropping functions, macros, delegates, etc... to reorder them within a category or to change categories (bringing them to parity with variables)
- Make category ordering on all categories sticky so you can reorder categories (the relative ordering will be the same within different sections like variables and functions)
- Added hover cues when drag dropping some items that were missing them (e.g., event dispatchers)
- Added support for renaming categories using F2
Known issues (none are regressions):
- Timelines cannot be moved to other categories or reordered
- Renaming a nested category will result in it becoming a top level category (discarding the parent category chain)
- Some actions do not support undo
#jira UE-31557
Change 3579795 by Michael.Noland
PR #3867: Fix for not releasing Local Notification Delegate. (Contributed by enginevividgames)
#jira UE-48105
Change 3580463 by Marc.Audy
(4.17) Don't crash if calling PostEditUndo on an Actor in the transient package
#jira UE-47523
Change 3581073 by Marc.Audy
Make UK2Node_SpawnActorFromClass inherit from K2Node_ConstructObjectFromClass and eliminate duplicate code.
Correctly reconnect split pins when changing class on create widget, construct object, and spawn actor nodes
Change 3581156 by Ben.Zeigler
#jira UE-48161 Fix issue where split pins would not be restored if a Struct type was changed due to refactoring of parent variables/functions. For structs we want to copy the pins, if they're invalid due to other changes they will be individual orphaned
Also fix bug where the category of parent pins was being set incorrectly while changing variable type, we only want to override type for wildcard pins
Change 3581473 by Ben.Zeigler
Properly turn off optimization for PS4 test
Change 3582094 by Marc.Audy
Fix anim nodes not navigating to their graph on double click
#jira UE-48333
Change 3582157 by Marc.Audy
Fix double-clicking on animation asset nodes not opening the asset editors
Change 3582289 by Marc.Audy
(4.17) Don't crash when adding a streaming level that's already in the level
#jira UE-48928
Change 3545435 by Ben.Zeigler
#jira UE-47509 Rename and refactor internals StringAssetReferences and AssetPtrs to become SoftObjectPath/Ptr. This is to prepare them for use for subobjects like actors. Here is the rename table:
FStringAssetReference -> FSoftObjectPath
FStringClassReference -> FSoftClassPath
TAssetPtr -> TSoftObjectPtr
TAssetSubclassOf -> TSoftClassPtr
The old headers are deprecated, and FSoftClassPath is now in the same header has FSoftObjectPath.
This change increments the UE4 version because FSoftObjectPaths are now stored as a name + substring instead of one giant name, which in practice will improve performance and memory while manipulating them. Also the package table of soft referenced packages is now stored as FNames instead of FStrings as these packages names will already be in the name table due to the AssetRegistry
Remove automatic support for loading Objectpaths starting with engine-ini:, as it was only partially supported and is very outdated. ResolveIniObjectsReference can still be called manually
Changed TPersistentObjectPtr and TLazyObjectPtr to be structs instead of classes
Change UnrealHeaderTool to read configuration such as StructsWithNoPrefix out of inis instead of using a hardcoded list. Add support for TypeRedirects, which is used to make the old type names automatically remap to the new ones
Clean up FRedirectCollector to remove some of the functionality that is no longer used by the cooker, and disable tracking of redirects in standalone -game builds
Change 3567760 by Ben.Zeigler
Fix it so EngineTest can be cooked by moving some utility functions to EditorTestsUtilityLibrary and adding an EditorFunctionalTest. The core EngineTest module is safely runtime-only now and can run it's tests locally in windows cooked
Merge FuncTestManager into FunctionalTestModule to avoid confusion with FunctionalTestingManager UObject
Add EngineTestAssetManager and override the cook function to cook all maps with runtime functional tests
Change actor merging tests to be editor only, this stops them from cooking
Several individual tests crash on cooked builds, I started threads with the owners of those
Change 3575737 by Ben.Zeigler
#jira UE-48042 Change it so playing via PIE Standalone, multiprocess networked PIE and external cook launch on does not save temporary levels to UEDPC and instead prompts the user to save. This is how launch on works by default already, and this fixes cross level references/sequencer. The UEDPC code has been removed entirely.
As part of this change, connecting a -game client to a PIE server and vice versa is much more likely to work. You may still have game-side problems, look at UEditorEngine::NetworkRemapPath for an example of how to do the PIE prefix conversion
Remove advanced CreateTemporaryCopiesOfLevels option from sequencer capture, it has not been tested in multiple years and does not work with newer sequencer features
#jira UE-27124 Fix several possible crashes with changing levels while in PIE
Change 3578806 by Marc.Audy
Fix Construct Object not working correctly with split pins.
Add Construct Object test cases to functional tests.
Added split pin expose on spawn test cases.
#jira UE-33924
[CL 3582334 by Marc Audy 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]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3061854 on 2016/07/22 by Bob.Tellez
Duplicate CL#3058653 //Fortnite/Main
#UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects.
Change 3068095 on 2016/07/28 by Maciej.Mroz
#jira UE-32942 BP Nativization: Reduce the size of executable files
Private and protected properties have PrivatePropertyOffset (PPO) function in .generated.h. This function allows the nativized code to access the property without using UProperty.
-It reduces the size of executable file (added by nativized plugin) about 10%. The OrionGame.exe (development config) is 6MB smaller.
-It reduces the number of FindField function calls and stativ variables in the nativized code.
List of inaccessible properties (that cannot be accessed using PPO) is logged while cooking (with nativization enabled).
Change 3070569 on 2016/07/29 by Bob.Tellez
Duplicating CL#3070518 from //Fortnite/Main
#UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad.
Change 3081792 on 2016/08/08 by Dan.Oconnor
Widget and Animation blueprint diffing is no longer experimental, added warning explaining shortcomings. This is preferrable because the text diff is basically useless
#jira UE-1234
Change 3081865 on 2016/08/09 by Dan.Oconnor
build fix
#jria UE-1234
Change 3082839 on 2016/08/09 by Bob.Tellez
Duplicating CL#3082835 from //Fortnite/Main
#UE4 Fix an issue where changing an array property in the defaults will leave the custom property chain stale until it is compiled, causing a crash in some circumstances.
Change 3083367 on 2016/08/09 by Dan.Oconnor
Fix for actors detaching when compiling a blueprint, needed to read attachment data before actors are destroyed, in case we're attached to another instance of the same type. Deemed too risky for 4.13.
#jira UE-33278
Change 3083825 on 2016/08/10 by Maciej.Mroz
#jira UE-34372 [CrashReport] UE4Editor_CoreUObject!StaticAllocateObject() [uobjectglobals.cpp:2102]
VariableNames are validated at the begining of FKismetCompilerContext::Compile, because the validation requires CDO.
Removed legacy code from FBlueprintEditorUtils::RenameMemberVariable.
Change 3084313 on 2016/08/10 by Maciej.Mroz
#jira UE-33883 Packaging with Nativize Blueprint Assets Causes Uninitialized Defaults
Change 3085572 on 2016/08/11 by Maciej.Mroz
#jira UE-34436 Ensures when copy/pasting linked anim bp nodes
Redone cl#3085568 from 4.13 branch
FGraphObjectTextFactory doesn't call compilation (it is called later by FBlueprintEditor::PasteNodesHere, when all nodes are pasted). CallFunction can be pasted even when it's function doesn't exist. The function could be created from a CustomEvent node, that was also pasted (so it wasn't compiled yet).
Change 3087171 on 2016/08/12 by Maciej.Mroz
BP Nativization:
- FCustomThunkTemplates functions have the same declarations as original functions in Kismet Array Library
- Properly declared scope of final functions
- "AdditionalPublicDependencyModuleNames" option in "BlueprintNativizationSettings" (applied in Orion)
Change 3088713 on 2016/08/15 by Ben.Cosh
This updates the tunnel boundary compile time code to catch end of thread execution inside tunnels and provide instrumentation for it.
#Jira UE-33563 - Macros without any outputs do not have their stats listed when called from a Keypress Event when profiling.
#Proj BlueprintGraph, BlueprintProfiler, Kismet, KismetCompiler, UnrealEd
Change 3088734 on 2016/08/15 by Ben.Cosh
Minor change to the changes submitted in CL 3088713 after finding an issue during use.
#Jira UE-33563 - Macros without any outputs do not have their stats listed when called from a Keypress Event when profiling.
#Proj BlueprintGraph, BlueprintProfiler, Kismet, KismetCompiler, UnrealEd
Change 3091248 on 2016/08/16 by Dan.Oconnor
Removing unused function
Change 3091555 on 2016/08/17 by Maciej.Mroz
#jira UE-34745 [CrashReport] UE4Editor_BlueprintGraph!UEdGraphSchema_K2::CreateSubstituteNode() [edgraphschema_k2.cpp:5601]
Fixed unsafe code.
Change 3091767 on 2016/08/17 by Ben.Cosh
Minor refresh on the threshold settings interface to allow more immediate visualisation of thresholds.
#Jira UE-33572 - BP Profiler - Refresh heatmap coloring when thresholds changed.
#Jira UE-33702 - BP Profiler - Custom heatmap thresholds appear to be broken
#Jira UE-33698 - BP Profiler: Default heatmaps to on
#Proj Kismet, BlueprintProfiler
Reviewer notes:
- Added an interfacel to indicate if performance thresholds have changed in BlueprintProfilerSettings so we can action changes
- Added code to force update heat interfaces in the blueprintprofiler if thresholds are dirty.
- Modified the BlueprintProfilerToolbar to reflect the above changes and only save settings when the combo dialog is closed ( saving on change makes the sliders unusable )
- Fixed the custom thresholds ( made them reciprical ) for testing.
- Node heatmaps default to average
- Heatmap display modes now get saved to the config
Change 3091770 on 2016/08/17 by Ben.Cosh
Refresh on the blueprint profiler node heatmaps
#Jira UE-34802 - Fix the blueprint profiler node heatmaps, the current visualisation is first pass prototype.
#Proj GraphEditor, EditorStyle
Reviewer notes:
- Quick update on the node heatmaps moving to a more graph editor sympathetic approach in code
- Removed the old interfaces and added a new overlay pass in the grapheditor processed before the node shadow brushes.
- Now the nodes have an outline/glow heatmap that doesn't color the node body ( I have an alternate set of images that also color the body if we decide on we still want that )
Change 3091972 on 2016/08/17 by Ben.Cosh
Changing the blueprint profiler heatmap displays to be full node colorisation.
#Jira none
Change 3092515 on 2016/08/17 by Ryan.Rauschkolb
Fixed Struct Ref pin in UK2Node_SetFieldsInStruct can be split when optional pins are visible
#UE-34060
Change 3093644 on 2016/08/18 by Maciej.Mroz
#jira UE-31754 BP interface signature change doesn't update child Blueprint
- Introduced FCustomCompilationSettingsMap. FKismetEditorUtilities::CompileBlueprint can compile many blueprints (due to reinstaning), now we can specify separate compilation settings for each BP.
- Simplified FKismetEditorUtilities::CompileBlueprint parameters list
- FunctionEntry and FunctionResult nodes depends on Interface (if they implement a function , that was declared in the interface).
- Interface is primary source of function signature (previously it was parent class)
- When an Interface is compiled all BPs, that implement it, have refreshed nodes in proper order.
- FBlueprintEditor::Compile ensures, that all parent classes of current BP are up-to-date
Change 3093694 on 2016/08/18 by samuel.proctor
Adding members to QA Test UDS
Change 3096778 on 2016/08/22 by Mike.Beach
Fixing Dev-BP CIS - closing bracket was mistakenly removed (thanks auto-merge).
Change 3097150 on 2016/08/22 by Mike.Beach
When converting function entry/exit nodes from an interface, set the replacement user-defined pins "DesiredDirection" properly (we now reject pins that don't match the expected direction, and user-defined pins created this way were setup wrong).
#jira UE-34985
Change 3097878 on 2016/08/23 by Ryan.Rauschkolb
BP Profiler: Fixed stack overflow when compiling tunnels that contain loops
#jira UE-34767
Change 3098294 on 2016/08/23 by Maciej.Mroz
#jira UE-30031, UE-34760, UE-34761
- Use Delta Serialization when exporting UDS value as text
- Default Values of Local Variables (of UDS type) are refreshed while BP regeneration
- Importing struct from text uses property guid (see CustomFindProperty)
Change 3098599 on 2016/08/23 by Ryan.Rauschkolb
Fixed option for split struct pin not appearing in context menu
#jira UE-35108
[CL 3100065 by Mike Beach in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2937390 on 2016/04/07 by Cody.Albert
#jira UE-29211
Fixed slider to properly bubble unhandled OnKeyDown events
Change 2939672 on 2016/04/11 by Richard.TalbotWatkin
Made a change to how file check out notifications work. Now the dirty package state is processed at the end of every tick, meaning that packages which are dirtied and then cleaned again are not processed. This fixes an issue where a number of child blueprints were flagged as needing checkout when a parent blueprint was compiled. This also allows multiple packages which are dirtied at the same time to be treated as one transaction.
#jira UE-29193 - "Files need check-out" prompt spams Blueprint users
Change 2939686 on 2016/04/11 by Richard.TalbotWatkin
A number of further improvements to mesh vertex color painting:
* Lower LODs are now automatically fixed up for instances which were created in a previous bugged version of the engine.
* Since lower LODs cannot currently have their vertex colors edited, their vertex colors are always derived from LOD0.
* Fixed a bug when building lower LODs so that vertices in neighboring octree nodes are considered when looking for the nearest vertex from LOD0 which corresponds.
* Fixed issue where static meshes with imported LODs would not have the lower LODs' override colors set when "Copy instance vertex colors to source mesh" was used (static meshes with generated LODs were always getting correct override colors).
#jira UE-28563 - Incorrectly displayed LOD VertexColor until paint mode is selected
Change 2939906 on 2016/04/11 by Nick.Darnell
Automation - Adding several enhancements to the automation framework and improving the UI.
* Tests in the UI now have a link to the source and line where they orginate.
* There's now a general purpose latent lambda command you can use to run arbitrary code latently.
* Added Inlined AddCommand for regular and networked commands to the base automation class, to avoid the use of the macro, which prevents breakpoints from working in lambda code.
* Front end now has better column displays offering more room to the test name
* Changed several events to the automation controller to multicast delegates so that many could hook them.
* The UI now refreshes the selection after tests finish so that the output log updates.
Change 2939908 on 2016/04/11 by Nick.Darnell
Automation - The editor import/export tests are now a complex test and actually sperate out all the tests that can be run, some trickiness was required on the filenames so that they didn't expand into more child tests in the UI. (replacing .'s with _'s)
Change 2940028 on 2016/04/11 by Nick.Darnell
Automation - Removing the search box from the toolbar. It's now inlined above the test tree. Tweaking the padding to make it look more other windows and make everything not look so squished. Recursive expansion now works on tests.
Change 2940066 on 2016/04/11 by Nick.Darnell
Automation - Moving the filter group dropdown out of the toolbar and onto the line with the search box above the treeview - additional tweaks to it.
Change 2940092 on 2016/04/11 by Jamie.Dale
PR #2248: Datatable select next row (Contributed by FineRedMist)
Change 2940093 on 2016/04/11 by Jamie.Dale
PR #2248: Datatable select next row (Contributed by FineRedMist)
Change 2940157 on 2016/04/11 by Jamie.Dale
Fixing FTextTest due to some changes made to how currency is formatted
Change 2940694 on 2016/04/12 by Richard.TalbotWatkin
Fixed issue where vertex override colors were not being propagated correctly for generated lower LODs.
#jira UE-29360 - Override Colors not propagated correctly to generated lower LODs
Change 2942379 on 2016/04/13 by Richard.TalbotWatkin
Fixed issue where entering PIE while selecting an actor in Mesh Paint mode could lead to a MeshPaintStaticMeshAdapter holding onto an invalid pointer to an old mesh component, and causing a crash upon leaving the mode. This can happen because, when loading a new streaming level, the proxy actor can be selected when starting PIE, which will subsequently be added to the tool's internal lists. This needs to be added as a GC reference so that it can be NULLed when forcibly destroyed.
#jira UE-29345 - Crash occurs exiting the editor after enabling mesh paint mode and PIEing
Change 2942947 on 2016/04/13 by Richard.TalbotWatkin
Fixed crash when pasting a material function call node from one project to another in which it is not defined.
#jira UE-27087 - Crash when pasting MaterialFunctionCall expressions into the material editor between projects
Change 2943452 on 2016/04/14 by Richard.TalbotWatkin
Updated F4 debug key binding to match what's in ShowFlags.cpp
PR #2197 (contributed by mfortin-bhvr)
Change 2943824 on 2016/04/14 by Alexis.Matte
#jira UE-29090
Make sure we cannot open the color picker when a property is edit const
Change 2943841 on 2016/04/14 by Alexis.Matte
#jira UE-28924
tooltip was add for every hierarchy import option
Change 2943927 on 2016/04/14 by Alexis.Matte
#jira UE-29423
Add Obj support for scene importer
Github PR #2272
Change 2943967 on 2016/04/14 by Richard.TalbotWatkin
Added relevant fields from FBodyInstance to the FoliageType customizations.
#jira UE-20138 - FoliageType has a FBodyInstance but only shows Collision Presets and not other FBodyInstance properties
Change 2948397 on 2016/04/19 by Andrew.Rodham
Moved FSlateIcon definition to SlateCore
It was previously declared as SLATE_API, despite its header residing inside SlateCore. Reviewed by Jamie Dale.
Change 2948805 on 2016/04/19 by Andrew.Rodham
Editor: Deprecated FName UEdGraphNode::GetPaletteIcon(FLinearColor&); in favor of FSlateIcon UEdGraphNode::GetIconAndTint(FLinearColor&); to allow for icons in external style sets to be used.
- Previously, all icons were assumed to reside within FEditorStyle, which is not the case and would create broken icons in the graph editor. All relevant code has been updated to use FSlateIcon structures instead of a simple name.
- This change required a significant overhaul to FClassIconFinder to support FSlateIcons. To keep the API clean, FSlateIconFinder now deals with FSlateIcon class icon finding operations, and FClassIconFinder for the most part just adds actor specific logic.
#jira UE-26502
Change 2950658 on 2016/04/20 by Alexis.Matte
#jira UE-24333
Skinxx workflow, we now output an error if there is mix of material with skinxx and some with no skinxx suffix
Change 2950663 on 2016/04/20 by Alexis.Matte
#jira UE-29582
When exporting to fbx we have to export each material instance as one fbx material
Change 2951240 on 2016/04/21 by Alexis.Matte
#jira UE-28473
Make sure light are render properly after importing a fbx scene
Change 2951421 on 2016/04/21 by Alexis.Matte
#jira UE-29773
fbx skeletalmesh import now support mesh hierarchy
Change 2955873 on 2016/04/26 by Richard.TalbotWatkin
PR #2225: Fix working package directory from the launch profiles (Contributed by projectgheist)
Change 2955965 on 2016/04/26 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2956717 on 2016/04/26 by Andrew.Rodham
Editor: World Outliner now correctly calls ProcessEditDelete on editor modes that have asked to process delete operations
#jira UE-26968
Change 2956822 on 2016/04/26 by Andrew.Rodham
Editor: Fixed actors not being removed from the scene outliner when they are added and removed on the same frame
#jira UE-7777
Change 2956931 on 2016/04/26 by Nick.Darnell
New Module - UATHelper - Moving the UAT launching code from the MainFrame module into a reusable module other modules can trigger.
Change 2956932 on 2016/04/26 by Nick.Darnell
Plugins - Now allowing you to package a plugin from the plugin browsing view. Still work in progress.
Change 2957164 on 2016/04/26 by Nick.Darnell
Hot Reload - Fixing hot reload, it no longer creates a temporary copy of the module manager. Making the copy constructor private on the module manager to prevent this in the future.
Change 2957165 on 2016/04/26 by Nick.Darnell
Fixing the Editor Mode plugin sample, it no longer provides a bad starting example for where to create your widgets.
#jira UE-28456
Change 2957510 on 2016/04/27 by Nick.Darnell
PR #2198: Git Plugin implement the Sync operation to update local files using the git pull --rebase command (Contributed by SRombauts)
#jira UE-28763
Change 2957511 on 2016/04/27 by Andrew.Rodham
Editor: Make favorites button on details panel non-focusable
- This was preventing users being able to tab between value fields on the details panel
Change 2957610 on 2016/04/27 by Nick.Darnell
PR #1836: Git plugin: make initial commit when initializing new project (Contributed by SRombauts)
#jira UE-24190
Change 2957667 on 2016/04/27 by Jamie.Dale
Fixed crash that could happen in FTextLayout::GetLineViewIndexForTextLocation if passed a bad location
#jira OR-18634
Change 2958035 on 2016/04/27 by Nick.Darnell
Fixing the DesignerRebuild flag detection so that we can just refresh the slate widget without recreating the preview UObject, which causes the destruction of the details panel, and the slate widget recreation was the only part that was required.
Change 2958272 on 2016/04/27 by Jamie.Dale
Added FAssetData::GetTagValue to handle getting asset tag values in a type-correct way
This allows type-conversion using LexicalConversion, and also has specializations for FString, FText, and FName.
#jira UE-12096
Change 2958348 on 2016/04/27 by Jamie.Dale
PR #2282: Slate font shutdown order fix (Contributed by FineRedMist)
Change 2958352 on 2016/04/27 by Jamie.Dale
Fixed the subtitle manager updating the wrong list of subtitles
#jira UE-29511
Change 2958390 on 2016/04/27 by Jamie.Dale
Removed some old placement-new style array insertions
Change 2959360 on 2016/04/28 by Richard.TalbotWatkin
Fixed potential crash when mesh painting actors whose geometry adapters are no longer registered.
#jira UE-29615 - [CrashReport] UE4Editor_MeshPaint!FEdModeMeshPaint::DoPaint() [meshpaintedmode.cpp:1127]
Change 2959724 on 2016/04/28 by Cody.Albert
Merging hardware survey gating logic from 4.10
#jira UE-28666
Change 2959807 on 2016/04/28 by Cody.Albert
Removed deprecated function call
#jira UE-28666
Change 2959894 on 2016/04/28 by Cody.Albert
Fix for scroll offset being clamped by content size, not scroll max
#jira UE-20676
Change 2960048 on 2016/04/28 by Jamie.Dale
Added FAssetData::GetTagValueRef to go along with FAssetData::GetTagValue
#jira UE-12096
Change 2960782 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2960885 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961170 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961171 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961173 on 2016/04/29 by Jamie.Dale
Removed some inline duplication on the specialized template functions
#jira UE-12096
Change 2963124 on 2016/05/02 by Jamie.Dale
FExternalDragOperation can now contain both text and file data at the same time
This better mirrors what the OS level drag-and-drop operations are capable of, and some applications will actually give you both bits of data at the same time.
#jira UE-26585
Change 2963175 on 2016/05/02 by Jamie.Dale
Updated some font editor tooltips to be more descriptive
#jira UE-17429
Change 2963290 on 2016/05/02 by Jamie.Dale
The Localise UAT command can now be run with a null localisation provider
Change 2963305 on 2016/05/02 by Jamie.Dale
Fixed minor typo
Change 2963402 on 2016/05/02 by Jamie.Dale
Cleaned up all the current localization key conflicts and warnings from gathering Engine code
#jira UE-25833
Change 2963415 on 2016/05/02 by Jamie.Dale
Rephrased a message that could generate a CIS warning
#jira UE-25833
Change 2964184 on 2016/05/03 by Jamie.Dale
Fixed duplicate "Font" entry in asset picker menu
This was caused by PropertyCustomizationHelpers::GetNewAssetFactoriesForClasses using CanCreateNew rather than ShouldShowInNewMenu, as UFont has two factories, but one is supposed to be hidden from the UI.
We also now make sure the factories are sorted by display name before being shown in the UI.
#jira UE-24903
Change 2966108 on 2016/05/04 by Nick.Darnell
Engine - Rearranging the order of ELoadingPhase's enums so that they match the loading order of modules.
Change 2966113 on 2016/05/04 by Nick.Darnell
[Engine Loop Change] UEngine now defines a Start() function, that subclasses can use to start game related things after initialization of the engine. This is done so that after the Init() call on UEngine, we can then perform a module load for the ELoadingPhase::PostEngineInit phase of loading, then inform the UEngine that it's time to start the game. Therefore, UGameEngine now tells the GameInstance to Start during this phase now.
Change 2966121 on 2016/05/04 by Jamie.Dale
Config writing improvements when dealing with property values
This updates FConfigFile::ShouldExportQuotedString to make sure that a property value containing any characters that FParse::LineExtended will consume when parsing back in the config file (such as { and }, or a trailing \) cause the string to be quoted.
This also adds FConfigFile::GenerateExportedPropertyLine to generate the INI key->value lines in a consistent and correctly escaped way, and makes sure that everything that writes out lines to a config file uses it.
FConfigCacheIni::SetString and FConfigCacheIni::SetText have been updated to update the value even if it only differs by case.
UObject::SaveConfig and UObject::LoadConfig have had some code whitespace fix-up (from a bad merge).
Change 2966122 on 2016/05/04 by Jamie.Dale
Added a setting to control dialogue wave audio filenames
Change 2966481 on 2016/05/04 by Jamie.Dale
PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist)
Change 2966887 on 2016/05/04 by Jamie.Dale
PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist)
Change 2967488 on 2016/05/05 by Ben.Marsh
Changes to support packaging plugins from the editor.
* UBT now has an option to explicitly disable hot-reloading in any circumstances.
* When running with -module arguments for a monolithic target, UBT will no longer try to relink the executable in source builds (so it's possible to compile plugin libs outside of an installed engine build without having already built UE4Game).
* When packaging, a temporary host project is always generated in the output directory to avoid invalidating intermediates in the source directory.
* An empty Config\FilterPlugin.ini file is written out with instructions on how to list additional files to package if it is not already present.
Change 2967947 on 2016/05/05 by Nick.Darnell
PR #2358: Properly display Mip Level Count and Format for UTexture2DDynamic Textures (Contributed by Allegorithmic)
#jira UE-30371
Change 2968333 on 2016/05/05 by Jamie.Dale
Fixed MultiLine not working with arrays of string or text properties
- The detail customizations for FString and FText properties now read the meta-data off the correct property.
- The UDS editor now lets you set the "MultiLine" meta-data on arrays of FString and FText properties.
- Fixed changing the "MultiLine" flag on a UDS property not rebuilding the default value editor.
- Fixed the default values panel in the UDS editor having a title area.
#jira UE-30392
Change 2968999 on 2016/05/06 by Jamie.Dale
Fixed infinite loop in the editor if a directory that is being watched is deleted
#jira UE-30172
Change 2969105 on 2016/05/06 by Richard.TalbotWatkin
Fixed issue where opening a submenu while the parent menu had a text box focused would lead to a crash. The graph node comment text widget now only dismisses all menus if the text commit info implies that it was committed by some user action.
#jira UE-29086 - Crash When Typing a Node Comment and Hovering Over the Alignment Option
Change 2969440 on 2016/05/06 by Jamie.Dale
Significant performance improvements when pasting a large amount of text
#jira UE-19712
Change 2969619 on 2016/05/06 by Andrew.Rodham
Auto-reimport is now disabled inside an editor running in unattended mode
Change 2969621 on 2016/05/06 by Jamie.Dale
Added the ability to override the subtitle used on a dialogue wave
This is useful for effort sounds, plus some other cases, such as characters speaking in a foreign language not known to the player.
#jira UETOOL-795
Change 2970588 on 2016/05/09 by Chris.Wood
Fix typo in operator expression in UEndUserSettings::SetSendAnonymousUsageDataToEpic()
[UE-26958] - GitHub 2056 : Fixing typo in the operator
#2056
Change 2971151 on 2016/05/09 by Chris.Wood
Logging ensure fails as errors. Automated tests with ensure fails will be unsuccessful.
[UE-19579] - If an ensure() fails within an automated test, the test can still show a positive result.
[UE-26575] - GitHub 2030 : Add error-severity message to log on ensure.
PR #2030
Change 2971267 on 2016/05/09 by Alexis.Matte
Wrong parameter when calling GetImportOptions
#jira UE-30299
Change 2972073 on 2016/05/10 by Richard.TalbotWatkin
Fixed UModel methods which make surfaces as modified.
#jira UE-28831 - Unable to undo material placement on BSP
Change 2972329 on 2016/05/10 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2972887 on 2016/05/10 by Alexis.Matte
#jira UE-30167
We now import the geometric transform also when we uncheck the absolute transform in the vertex.
Change 2973664 on 2016/05/11 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2973717 on 2016/05/11 by Nick.Darnell
Fixing compiler issues from main merge.
#jira UE-30590
Change 2973846 on 2016/05/11 by Jamie.Dale
Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue
These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects).
The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue.
This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made).
Change 2973847 on 2016/05/11 by Jamie.Dale
Changing the loading phase in the localization dashboard now writes to the default config
#jira UE-30482
Change 2973866 on 2016/05/11 by Jamie.Dale
Deprecated some functions that were taking an unused position.
These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version.
- FViewportFrame::ResizeFrame
- FSceneViewport::ResizeFrame
- FSceneViewport::ResizeViewport
[CL 2973886 by Nick Darnell in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2919729 on 2016/03/23 by Ben.Cosh
Support for macros in the profiler
#UEBP-177 - Macro instance handling
#Proj Kismet, BlueprintProfiler
- Adds support for timings inside macro calls
- Extends the tunnel graph support to handle multiple entry/exit sites
Change 2938064 on 2016/04/08 by Phillip.Kavan
[UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well.
change summary:
- added external linkage to UK2Node_GetClassDefaults::FindClassPin().
- added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h.
- added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl.
- modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected.
- modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types.
Change 2938088 on 2016/04/08 by Mike.Beach
Making bytecode produced by latent action nodes deterministic.
Change 2938101 on 2016/04/08 by Mike.Beach
Fixing a bug where the compile summary was not being reported because another compiler log was lingering - making it so the MathExpression node compiler log is not initialized with intent to report its own summary (it gets folded into the primary log).
Change 2938121 on 2016/04/08 by Phillip.Kavan
Remove a few redundant MBASM calls on variable type change.
Change 2940295 on 2016/04/11 by Dan.Oconnor
We now 'tag subobjects' of a blueprint even if it's part of the rootset, this means we correctly detect references to the BPGC in FPendingDelete::CheckForReferences(). Original rootset check dates to 2012 and I can find no justification for it currently.
#jira UE-29216
Change 2943227 on 2016/04/13 by Dan.Oconnor
Fixed improper detection of functions from interfaces that themselves inherit from some other interface
#jira UE-29440
Change 2944270 on 2016/04/14 by Phillip.Kavan
[UEBP-176] First pass at BP graph node heat map visualization while profiling.
change summary:
- added an "indicator overlay" to graph node widget layouts
- added a heat mode "mode" selector widget to the BP profiler view panel
- extended IBlueprintProfilerInterface to include APIs for accessing current heat map mode state
- added FScriptNodePerfData::GetBlueprintPerfDataForAllTracePaths() (tentative - may need revisiting)
- added SGraphNode::GetNodeIndicatorOverlayColor() and GetNodeIndicatorOverlayVisibility() delegates
- added BP-specific delegate overrides to SGraphNodeK2Base; extended to include both compact and variable nodes
Change 2946932 on 2016/04/18 by Mike.Beach
Guarding against invalid EdGraphPins (ones that have been moved to the transient package) when constructing the widget - prevents a crash that we've been unable to repro or determine the cause of (turns it instead into an ensure, so we can collect more contextual information on the issue).
#jira UE-26998
Change 2949968 on 2016/04/20 by Dan.Oconnor
Array access out of bounds by value is a warning again, added ability to elevate individual warnings on a per project basis (or supress them)
#jira UE-28971
Change 2950113 on 2016/04/20 by Dan.Oconnor
Removed GBlueprintCompileTime, it was not accurate. Printing BlueprintCompileAndLoadTimerData.GetTime() at start instead
Change 2951086 on 2016/04/21 by Ben.Cosh
This change addresses the edge case in the blueprint profiler that caused stats to fail when tunnel nodes were linked through to other tunnel nodes.
#jira UE-28750 - Crash compiling a Blueprint that contains a For Loop with profiler active
#Proj Kismet, BlueprintProfiler
Change 2951336 on 2016/04/21 by Ben.Cosh
This change enables blueprint breakpoints during instrumented conditions.
#jira UEBP-178 - Fix breakpoints under profiling conditions
#Proj CoreUObject, BlueprintProfiler, UnrealEd, KismetCompiler
Change 2951406 on 2016/04/21 by Ben.Cosh
Fix for blueprint profiler stats for the top level blueprint stat entry not updating correctly.
#Proj Kismet
Change 2951832 on 2016/04/21 by Ben.Cosh
Fix for certain blueprint profiler stats not being updated and collected at the blueprint container level due to incorrect tracepaths.
#Proj Kismet
#info This should fix the node heatmaps as a side effect.
#Codereview Phillip.Kavan
Change 2956696 on 2016/04/26 by Dan.Oconnor
Tweak fix for macros being BS_Dirty after loading. The current fix had the side effect of not recompiling clients of the macro after making a change to the macro and entering PIE
#jira UE-29495
Change 2957564 on 2016/04/27 by Maciej.Mroz
Various fixes related to nativized enums.
#jira UE-27735 Enumerators are not set correctly in packaged games if Nativize Blueprint Assets is set to true
Change 2961626 on 2016/04/29 by Mike.Beach
Merging //UE4/Dev-Main to Dev-Blueprints (//UE4/Dev-Blueprints)
Change 2962747 on 2016/05/02 by Maciej.Mroz
#jira UE-30123 Cannot use abilities in nativized Orion build
GameplayAbility handles BPGC and DynamicClass the same way.
C++ backend do not assumes that some literal objects are UserDefinesEnum/UserDefinedStruct/BlueprintGeneratedClass.
Change 2965679 on 2016/05/04 by Maciej.Mroz
Increased stack size (384k) of threads spawned by Task Graph.
(Temporary?) fix for stack overflow, when amination in Orion are evaluated.
Change 2965758 on 2016/05/04 by Maciej.Mroz
#jira UE-30300 "ReturnToBase" ability does not work in nativized Orion.
Fixed CDO creation in async loaded Dynamic Class.
Fixed too restrict cast assertions.
Change 2966543 on 2016/05/04 by Maciej.Mroz
#jira UE-30235 Mac QAGame fails to package with nativization
#jira UE-30282 Match3 nativized android package fails to build
Change 2966839 on 2016/05/04 by Dan.Oconnor
Typo IMPLEMENT_MODULE creates weird linking error, also may need entry in Target.cs to get BlueprintRuntime to build. Copying that pattern from ___LoadingScreen modules
#jira UE-30333
Change 2967347 on 2016/05/05 by Maciej.Mroz
#jira UE-30196 Unable to package a copy of project with Nativize Blueprints enabled
CommandUtils.GetDirectoryName should not be used with directory path (but only with file path), because it cannot handle paths like "e:\My11Project 4.13" (containing '.'). It seems useless with directory path anyway.
[CL 2968184 by Dan Oconnor in Main branch]
#UE-12866 - Have node comments and reroute node comments act the same
#Branch UE4
#Proj Engine, GraphEditor
#includes some more general comment node / comment bubble fixes
[CL 2528202 by Ben Cosh in Main branch]
#UE-13299 - Comments and comment balloons don't obey colors set in editor preferences
#Branch UE4
#Proj BehaviourTreeEditor, EnvironmentQueryEditor, GraphEditor
#codereview Dan.Oconnor
[CL 2505562 by Ben Cosh in Main branch]