New: Added Blueprint-exposed GetBoundingBox function to StaticMesh.
New: Added Equals and NearlyEquals functions for Transforms to Blueprint math library.
New: Added TimeSecondsToString function to convert float seconds to formatted string.
New: Added a node icon to identify editor-only properties referenced in Blueprint script.
Properties like a Character's arrow component, or a TargetPoint's sprite.
Fixed crashes that would occur from referencing these properties in cooked builds (replaced with a logged exception instead).
New: Added editor .ini config settings that can be used to hide specific Blueprint menu entries.
Use the "[BlueprintEditor.Menu]" section header to add exclusions under in the .ini file.
In the .ini file, specific fields can be hidden like so: +BlueprintHiddenFields="/Script/Engine.Actor:GetTransform".
In the .ini file, specific nodes can be hidden like so: +BlueprintHiddenNodes="/Script/BlueprintGraph.K2Node_IfThenElse".
New: Added Get Map Range Value Unclamped and renamed Get Mapped Range Value to Get Mapped Range Value Clamped.
New: Added Invert Transform blueprint node.
New: Added support for expressing a per-parameter Display Name using the markup UPARAM(DisplayName="Something neat") before the parameter declaration.
This allows renaming parameters without using a K2ParamRedirect, and the use of names that are not legal C++ identifiers.
e.g. static void DoSomethingAwesome(UPARAM(DisplayName="Awesome Param") float BoringParam);
New: Added the ability to filter out library functions and macros from the Blueprint context menu.
New: Added various improvements related to Select node. The node doesn't return a copy of input parameter, it returns a reference to the input.
New: An "InternalUseParam" meta tag for UFUNCTION has been added to support hiding function parameters from Blueprints. The pin for that parameter will be hidden and not connectable.
New: Blueprint Timer API improvements.
Set Timer By Delegate now returns a Timer Handle to be used when interacting with the timer via other functions. Interacting with timers by handle is significantly more performant and enables the same timer delegate to be used for multiple timers simultaneously.
Set Timer By Name, and all timer manipulation functions, by name and delegate have been deprecated.
New: Blueprint Timeline UI updates:
Made individual tracks collapsable.
Added an option to turn off the view synchronization for an individual track.
General padding and layout tweaks.
New: Game/URL Options parsing nodes are now exposed to blueprints.
New: Can change a variable's type in the My Blueprint window by clicking on its type icon, or right-clicking to toggle whether or not it's an array.
New: Can drag and drop custom events from the My Blueprint window to add a call function for the event.
New: Can promote pins to local variables in Blueprint function graphs (or their child graphs).
New: Can set the Advanced Display flag on Blueprint member variables.
New: Made the boolean pin in Blueprints less subtle.
New: Fixed a crash that could occur with data-only Blueprints that explicitly called their parent's construction script.
New: Fixed error about missing World Context pin in blueprint library.
New: CreateEvent nodes are now more user friendly - they will use the current blueprint as the default context and no longer suggest that the user select an asset for context.
New: Improved details panel for nodes: Make, Break and Set Member. Properties are grouped in categories. Improvements for PostProcessSettings.
New: Improved the logic for when to reuse an existing graph tab versus open a new one.
All subgraphs will now open in the parent when double-clicking on a node in a graph.
Holding down Shift while clicking on an item in the My Blueprint tree or in the graph will force the creation of a new tab regardless of what is already opened.
New: Node "Set member in .." has an output pin for the post-modified struct.
New: Object Reference, Class Reference, Asset ID, Asset Class ID pin types have been spun off into a sub-menu on the item to reduce duplication of these items in the listview.
New: The output pin subtype for a GetClass function call node is now linked to the input pin's subtype.
New: Added support for multi-line editing to blueprint comment nodes.
New: Exposed NOR and NAND node support to blueprints.
"Color" name is not longer restricted.
Added "magnitude" keyword to vector length functions.
Adding or removing members from an editor created structure will no longer cause 'inappropriate outermost' warnings when blueprints that use that structure are saved without recompiling.
Adding pins to a MakeArray node will give the new pin a default values.
After context fail (Access None error) return data are properly cleared.
Attaching a bool to the "Select" nodes index pin will force the node to update it's pin names even when there are only two options.
Axis mapping value getters can no longer be called from other blueprints.
Blueprint Diff Tool no longer has buttons to switch between the components, graph, and defaults views. Navigation is now done via the list of differences.
Blueprint Editor context menu filtering is much more efficient.
Blueprint member variables of type component that are not generated by SCS now have the details options normally available to exposed variables.
Breakpoint is triggered on Access None error.
C++ Functions that are tagged as BlueprintImplementableEvent and are overridden as a function graph in Blueprints will display an error when attempting to drag and drop into the graph to inform the user that the function is not Blueprint Callable.
Call Function nodes will no longer change the function reference when duplicating the node or duplicating the entire Blueprint.
Can no longer split pins on Blueprint nodes if the struct does not have any valid properties.
Can now Make and Break the DateTime struct in Blueprints.
Can right click in collapsed graphs to add local variables that are part of the outer function graph.
Can right click on any node to search for references of it. Does initial search only in current Blueprint.
Can use unicode characters in Math Expression nodes.
Cannot name Timeline tracks the same as any of the native pins on the node.
Changing a pin type on a Select node will recombine all sub pins on the option and result pins before setting the new pin type.
Changing the Class of a "Spawn Actor from Class" node will no longer disconnect the result pin's links if they are still valid.
Child components in a Blueprint Class asset attached to a default scene root will no longer be lost after reparenting to a Blueprint Class that also has a default scene root.
Connecting function result node array pins to a reroute node will no longer prevent the node from compiling with all its output parameters.
Copying and pasting a K2Node_CallFunction with an interface pin for the self pin will no longer change the self pin into a normal Object Reference pin.
Deleting a custom event when there are no other events in the Blueprint will no longer disallow you to name other items placed in the Blueprint the same as the deleted custom event.
Drag and dropping a component from the SCS editor to a graph will no longer incorrectly report that the graph is outside of scope when it is a part of the same Blueprint.
Dragging and dropping variables from the My Blueprint tab will no longer default to assuming that the variable is read-only.
Duplicating function or macro graphs that contain nodes with Text pins will no longer incorrectly link the original and duplicated pins so that changes in one appear to affect the other.
Duplicating the "Add Scene Component" node while the transform pin is split will no longer make visible the transform pin on the duplicated node.
Editing a blueprint that is instanced in a hidden sub level no longer resets transforms on the hidden instances.
Ensure 'bExchangedRoles' is not set after serialization of an Actor-based Blueprint Class asset.
Examining the value of an enum array pin will show the enum value's display name.
Fixed a crash when compiling a Blueprint while intermediate graphs are open.
Fixed a crash while compiling a Blueprint with a validated Get node that is missing a property.
Fixed a crash when compiling a Blueprint while Find-in-Blueprints is searching all Blueprints.
Fixed a crash when vectors are compared in Math Expression using operator!=.
Fixed a potential crash during component registration when constructing instances of a Blueprint Class.
Fixed a potential crash on load during component template serialization for older Blueprint Class assets.
Fixed a potential crash when copying an array of USTRUCTs from one Actor instance to another.
Fixed an issue where deleting the scene root component in the Blueprint editor could lead to incorrect state of instances of the Blueprint class post-reconstruction.
Fixed crash executing cast to a class that is not loaded (presumably due to referencing a class in an unloaded module).
Fixed crash on reload of maps saved with constructed component instances that match archetypes by name but no longer by type.
Fixed a crash that would occur when editing an instanced variable nested within another instanced variable.
Fixed propagation of material swaps when editing "native" component templates (i.e. inherited from the C++ class) in the Blueprint Class editor.
Fixed socket browsing in the Blueprint editor for inherited component templates.
Fixed stale components persisting in a Blueprint Class asset after changing a native parent class's inheritance hierarchy.
Fixed vector axis input event nodes displaying a float output pin instead of a vector pin.
Fixed a bug that prevented new components from having the same name as a deleted one (prior to a compile).
Fixed a bug that was preventing copy, duplicate, and rename hotkeys from working in the Blueprint viewport.
Fixed a bug where certain keywords for Blueprint menu items were being ignored.
Fixed a bug where dirty Blueprints were not being compiled before you selected "Launch".
Fixed a bug where static functions were being hidden from Blueprints with Hide Categories metadata.
Fixed a bug with cyclic parent/child dependencies, where inherited components could be trashed when compiled.
Fixed a bug with parent/child cyclic dependencies, where the child's overridden property values would be cleared on load.
Fixed a crash after renaming local variables when other functions have local variables of the same name.
Fixed a crash that could occur when passing a default Blueprint Session Result object to the "Join Session" Blueprint node. Instead of crashing, the join will fail an execution will continue from the "On Failure" pin, as normal.
Fixed a crash that could occur when undoing, after compiling an Actor Blueprint with components.
Fixed a crash that would occur in specific cyclic dependency cases involving an Actor and Actor Component Blueprints.
Fixed a crash that would occur when hovering over the "Edit Blueprint" button, for Blueprint instances that had components added in their construction script.
Fixed a crash that would occur when loading a Blueprint that depended on a plugin that was disabled.
Fixed a crash that would occur when removing an event/function param in a Blueprint that was associated with the set GameMode.
Fixed a crash that would occur when removing a pin that had a debug watch applied to it.
Fixed a crash when deleting a map while it's level Blueprint was opened.
Fixed a crash when restarting level after streaming sublevels in.
Fixed a cyclical dependency bug involving macro libraries, where Blueprints could load with a false error.
Fixed a potential failure to restore component instance data during reconstruction of an Actor-based Blueprint Class instance.
Fixed an issue where it would appear that the Increment/Decrement macros would occur twice when using the output pin from the macro.
Fixed an issue where some component property values on a Blueprint class instance in the current scene could be reset as a result of recompiling the Blueprint class.
Fixed crash when Local Variable of array type is compiled.
Fixed crash when making changes with multiple components selected in the blueprint editor.
Fixed crash when selecting for "None" class type on the Spawn Actor From Class node after having already selected another class.
Fixed crash when struct value is copied from invalid object using Set node.
Fixed crash, when two empty User Defined Enums have the same name.
Fixed decrement int macro node to actually decrement.
Fixed duplication of components within the component tree in the Blueprint editor.
Fixed editing of Instanced Static Mesh Component and Hierarchical Instanced Static Mesh Component.
Fixed exposed APEX cloth functions not appearing in blueprint editors.
Fixed incorrect tooltips between "Convert to validated Get" and "Convert to pure Get" options on Get variable nodes.
Fixed issues that could occur if an existing Blueprint class default object or instance contained one or more invalid property values for native (C++-defined) component subobjects on load.
Fixed issues with graph node bubbles rendering incorrectly when there is nothing in the top slot
Fixed issues with hiding categories in Blueprints not always hiding all the expected nodes.
Fixed issues with node titles being out of date (e.g., animation skeletal controls) by forcing node titles to be updated when a property on a graph node is modified
Fixed issues with Target pins being invalid after reparenting a blueprint.
Fixed rare crash in the Blueprint diff tool that occurred when user dragged certain UI elements.
Fixed the cause of a 'Critical Failure' that could occur when replacing references to one blueprint with references to a different blueprint.
Fixed crash with Find-in-Blueprints, fallout from changes to FString.
Hidden pins generated from native functions will correctly use their default values.
Improved the Pin Type Selector filter so order of words and case sensitivity does not matter.
In the pin type selector dropdown, hitting the shift key will no longer move the cursor back to the start of the search box and hitting the down and up arrow keys will again navigate the list view.
Input action and key events will no longer be placeable in Blueprint functions.
Input Touch event node cannot be placed in function or macro graphs.
Local variables in Blueprint functions will now be set to the default values of the user defined struct their type represents.
Math expression functions without any parameters will still provide their end parenthesis in the Math Expression node.
Math Expression nodes will again correctly lookup by the display name of a function.
Math Expression nodes will no longer always appear as changed when doing a diff on a Blueprint.
MathExpression nodes will not count function inputs as valid variables to access via getter nodes.
More strict restrictions related to WeakObjectPtr exposed to blueprint. No arrays of WeakObjectPtr.
On Blueprint enum pins, tooltips will appear when hovering over items in the drop down menu.
On the select node, setting the Index pin's type will always change the pin names of the option pins to "False" and "True".
Exposed FMath::FixedTurn to Blueprints. (Contributed by MatzeOGH, pull request 1254.)
Preventing in UK2Node::AutowireNode hidden pins from being auto-connected to passed in Wildcard pins.
Proper error is generated when incompatible Blueprint pins are connected.
Recompiling a Blueprint with a Component parent class now correctly re-registers any instances of the blueprinted component in the level. Previously existing instances could disappear.
Removed a check that was asserting when compiling a Blueprint with invalid Call Function or Call Parent Function nodes.
Renaming a component and then adding a new component of the same type in the Blueprint editor will no longer result in broken defaults editing.
Select nodes using enums with hidden values will no longer incorrectly match up the Option pin connections to the improper enum value.
Selecting a pin type for a Select node will not fail the first time.
Setting default values of Text properties in the User Defined Struct or for Local Variable properties in Blueprints will correctly assign the value and preserve the value between instances of the editor.
Splitting pins on the Function Result node will no longer attempt to compile the split pins as result pins.
The "Get" pin(s) on "Set" variable nodes will now display the name of the pin if the pin has been generated by splitting a struct pin.
The details view in Blueprints of non-member variables (either from a parent class or an external member reference) will no longer show various detail uneditable options as editable.
The eye icon appears now for marking a user created component variable as editable in the My Blueprints window.
Tooltips will display for sub-menu items in the Pin Type Selector.
Tweaked the tooltip for "Expand Nodes" menu option to better describe what the action will do.
When dragging off a pin in a function graph, local variable nodes will no longer be filtered out of the context menu for placement if they are valid for connection.
When indexing all Blueprints, hitting "No" will correctly skip checking out all un-indexed Blueprints.
When loading a blueprint pin types that don't match are no longer disconnected, instead we rely on compile errors to prevent the potentially broken blueprint from executing bad code.
When signature of a function is updated, its instances in the Event Graph are properly updated.