The upcoming 4.3 release includes a number of quality of life improvements for Blueprints,
some awesome rendering features, a big Automation push, Splines for all your curve needs,
and an update to the Static Mesh Editor that enables you to create multi-body collision outside
of your 3D art package!
We’d like to extend our gratitude to all of the amazing developers who contributed code to the
upcoming 4.3 release.
3dluvr, abergmeier, alixSilkin, Allegorithmic, bigzer, Chris-Bond, CoherentUE4, EverNewJoy, Ixiguis, mpolaczyk, pzurita, raziel2001au, robert-wallis, RushPL, solid-angle, stephenwhittle, thk123, timdonkssbc100, vakathil, Xaklse, Zoubi
How to access the 4.3 Preview build.
Subscribed licensees will be able to access the 4.3 Preview build through the Launcher – Library tab. Subscribers will see the option to add a new engine version indicated by the “+” sign next to a version number with a “˅” indicating a new version option is available.
Selecting the pull down menu will display as list of available engines, including the “4.3 Preview” build.
At this point subscribers will need to “Accept EULA” to download.
New: Skylight Global Illumination
Static and Stationary Skylights have one bounce of diffuse GI computed by Lightmass now.
You can use Indirect Lighting Intensity on the sky light to control how bright the bounce
Just like all Stationary lights, if you change the color or intensity at runtime, it only applies to the
direct lighting, since the bounce lighting is baked into the lightmap.
With Global Illumination:
New: Distance Field Ambient Occlusion
This feature computes AO from Signed Distance Fields which are used to represent the static
meshes in the scene. The static meshes can be moved at runtime and the AO will update.
With Distance Field AO:
New: Translucency Shadowing from Stationary Lights
Unreal Engine 4 has had shadowed translucency from dynamic shadows for quite some time.
But for Stationary lights, which don’t use dynamic shadowing because they need to render very
efficiently, the direct lighting would leak through. This is now handled by a shadow depth map
covering the light’s influence, generated by Lightmass during the lighting build.
Static Shadowing for Translucency:
New: Movable Skylight
Skylights can now support the Movable mobility setting!– This type of light supports dynamic scene changes.
– It gets shadowing from SSAO and a new feature called Distance Field AO.
Blackboard Editing & Debugging in the Behavior Tree Editor
You can now edit and debug Blackboard entries inside the Behavior Tree Editor. You can
access the Blackboard Editor by switching to the new ‘Blackboard’ mode:
You can then edit the blackboard in a similar way to Blueprint variables by adding keys:
You can also remove and rename keys with hotkeys & the right-click context menu.
When debugging, blackboard values are displayed for inspection. As before you can still switch
between current and saved (previous) debugging contexts:
The blackboard is also displayed for quick reference in the behavior tree mode:
New: “New Node” Shortcuts
The Behavior Tree Editor has had some new buttons added to its toolbar, allowing users to
quickly create new Blueprint node types for tasks, decorators and services:
─ Blueprints for these new nodes are created in the location of the currently edited
behavior tree. If there is more than one potential class to create a node type from, then
the button will appear with a dropdown to allow class selection.
**New: World Composition (Huge Levels!)
You can create sub-levels and position them anywhere on this map. They will be loaded
automatically in the game.
─ Turn on Enable World Composition in your level’s World Settings to activate this (the
level must be saved to enable this feature).
─ You can use the Minimap button on the** Level Browser** toolbar to access a world map.
─ New documentation and Sample Games will be coming later.
─ This feature replaces the experimental World Browser feature in earlier builds.
Level Browser Redesign
The Level Browser (accessed through the Window menu) has seen a significant update in 4.3.
─ All the file operations (create new, save, save as, add, merge, etc) were moved from
context menu into the toolbar button Levels.
─ “Display actors count for each level”, “Display full package names”. “Blueprint” type
streaming levels will have small yellow dot in their name to differentiate them from an
“Always Loaded” type levels.
─ Less used operations like level transformations, Streaming Volumes management, and
others can be done though Level Details panel which can be summoned by clicking
a Details button on the Levels panel’s toolbar. Level Details is independent from the
regular Details panel, that means it will show only selected level details. It also supports
─ In PIE the Levels panel will show simulation status of each level, hidden levels will have
their visibility “eye” closed and unloaded levels will have their name color in gray.
─ When you drag a level into blueprint graph it will create GetStreamingLevel node for
─ If something is missing or work incorrectly in a renewed Levels tool you can switch back
to old Levels tool by using –oldlevels commandline parameter.
New: Spline and Spline Mesh Components
We now have the ability to edit Splines directly in the world! By simply adding a Spline Component to your Blueprint and selecting an instance of that
Blueprint, users gain access to editing splines within their levels.
You can also use a Spline Mesh Component to deform a StaticMesh along a spline. You can define a start and end location and tangent in the Details panel (or by calling functions).
Click on keys to select them.– Use the translate widget to move them around (the ‘tangents’ are automatically updated by default).
– Alt-drag with a key selected to add a new one.
If you want more control:– Use the rotate widget to rotate the tangents.
– Use the scale widget to extend them.
You can also right-click on a key to get a context menu.
If you want, you can also construct the spline inside your Construction Script using the AddSplineWorldPoint and SetSplineWorldPoints functions. If a spline is constructed inside the Construction Script in this way, the ‘Allow Spline Editing Per Instance’ flag should be turned off in the Blueprint defaults.
New: Reroute Nodes
**Add Reroute Node… **now shows up in the context menu when you click-drag off of a pin; you
can make connections to a reroute pin like normal, move it around (by dragging near it or **ctrl + **
dragging on it), and remove it by Alt + Clicking.
You can also put comments on a reroute node by double-clicking on the draggable area below,
or hitting F2.
New: Split Struct Pins
Users now have the ability to split a struct pin directly in place on the node instead of having to
insert the Make and Break nodes.
This works for both input and output pins of any struct, and if the split struct also contains
structs, they can also be expanded.
New: Expand Enum for Output Pins
You can now enable expanded Enumeration execution pins for Blueprint Nodes. This has
existed for input pins for sometime now, but now can be enabled for output execution pins:
─ Now you can just create an enum, have one as an output parameter for your function,
and mark that output parameter it as** ExpandEnumAsExecs** in the UFunction
New: Data and Curve Table Support
Evaluate Curve Table Row will return you the output value for Row Name at XY:
Get Data Table Row will return you a Row struct that can be broken into its individual
New: Blueprints Control of Anim Trails
You can now control Anim Trail emitters in Blueprint (and code) without anim notifies.– The only restriction with this is that the particle system component must be the child of
the skeletal mesh component from which you are sampling socket locations.
– The Begin Trails function of the component will start all Anim Trail emitters in the
– The EndTrails function of the component will end all Anim Trail emitters in the Particle
– You can also alter the trails properties while it is running. Here we alter the width each
tick using the game time.
New: Global Blueprint Search
Find-in-Blueprints has been given a significant revamp to accommodate feature requests and
should now be more robust and useful.
Searching should be more all-encompassing than ever before, finding: nodes, pins, pin values,
graphs, variables, variable values, as well as searching animation graphs.
Searching is an asynchronous process, meaning it will not prevent you from using the editor as
the search completes, you can also make multiple searches in different Blueprints at the same
Find-in-Blueprints now leverages the DDC for the searchable data - when Blueprints are
updated their information is refreshed and when another user syncs that Blueprint the
searchable data will be unreachable.
When Blueprints are not indexed in the system, it will inform you, as in the below image:
─ Note: Level Blueprints are not fully supported, though you should be able to search
your current level without a problem.
Static Mesh Editor
New: Customizable Static Mesh Collision
The Static Mesh editor now supports adding multiple collision primitives of differing types,
allowing for the quick creation of a custom collision setup, and modifications to existing collision
to fix any issues affecting gameplay.
This can be used to make it easier to shoot through or traverse more complex geometry, as well
as place blockers when you do not want to user to be able to. For example:
The Static Mesh Editor now supports Capsule/Sphyl collision geometry too.─ It attempts to calculate the correct axis it should align itself with, along with the best fit for
the mesh. For example:
─ All the collision primitives can be selected with the mouse and moved, rotated, and
scaled with the editor widget (**Spacebar **and W,E,R keys toggle manipulation type).
─ Collision primitives can also be multi selected (Ctrl+LMB), focused (F key), duplicated
(Alt+drag) and deleted (delete key) if they are no longer needed - all of which should be
Editor─ New: Added support for the Class Wizard to create non-UObject classes.
─ New: Added Edit Asset option to the Reference Viewer context menu.
─ New: Added support for choosing which platforms your project will target.
─ New: Deleting assets forces the Mode tab’s Recently Placed list to be refreshed.
─ New: Created unique icons for the Behavior Tree editor.
─ New: Added Editor-only functions to allow nodes to override their in-editor icon display.
─ New: Added Blueprint icon to show which nodes use Blueprint for their logic.
─ New: Added a comment explaining why CachedAutoWrapTextWidth was cached in
OnPaint() rather than Tick().
─ New: Added a checkbox to toggle the display of the grid on/off.
─ New: Added a manager to queue and process My Project requests, and added a cool
down. State is now polled.
─ New: Added PlatformInfo to **DesktopPlatform **and improved the editors Supported
─ New: Added content browser buttons (find in, use from) to animation blueprint selector in
skeletal mesh details panel.
─ New: Added the concept of a primary asset editor to the asset toolkit manager.
─ New: Alt + Shift + R now brings up the Reference Viewer for the currently selected
─ Changed “Graph is linked to object(s) in external map” dialog to have a single “OK”
─ Changed Gameplay Tag Pin to now only allows single select.
─ Moved the project locations array into the game .ini for launcher created projects.
─ Moved **Stats **sub menu entry from Viewport’s Show menu to the
─ Fixed the DefaultPhysicsVolume to no longer appear in the convert actor list in the
details panel for Brushes/Volumes.
─ Fixed the Color Picker to now display an error when renaming a theme to the same
name as another.
─ Fixed “undo then redo” on duplicated scaled geometry to no longer result in a brush at
the default scale.
─ Fixed **Particle System Arrow **components to no longer scale relative to their actor
─ Fixed Play In Editor in New Window to respect resolution request if r.FullScreen is 1.
─ Fixed Level Editor export functionality to default to FBX rather than OBJ.
─ Fixed the move/save pivot options for brushes to now only be available for ortho
─ Fixed the **Content Browser **so it now refreshes when package dirty state is updated.
─ Re-added support for custom categories in the Project Browser.
─ Removed all animation classes from EnginePrivate.h and edited their files to include
only their dependencies.
Animation─ New: Added blueprint events for montage blending out/ending.
─ New: User can now toggle Track history which will monitor subsequent tests and store a
log in Saved/Automation/Logs.
Cascade─ New: Added “Randomly Select Seed Array” option to random seed functionality
Scene Outliner─ New: Expansion states for outliner folders are now stored in per-user temporary config
─ New: Added functionality stop the double click events from propagating up to the parent
Material Editor─ New: Nodes which are deemed to have previews with no particular value are now auto
collapsed by default.
Geometry Mode─ New: Brush wireframe is now rendered stippled when behind objects when being
Static Mesh Editor─ Fixed BuildScale so it is now applied when building** Sphere Collision**.
Persona Animation Editor─ New: Asset Picker now supports rename functionality.
─ Fixed animation import to detect and scale existing animation curves on import and
reimport to avoid keys becoming inaccessible.
Viewport─ New: Selecting a camera that has a pinned camera preview now highlights its preview.
─ Fixed Raw and Unit Time stats to now display correctly if Unit Graph isn’t already
UI─ New: Escape will now still first close a HUD UI even if it has lost focus.
Unreal Automation Tool─ We track and show up to 5 by default, this is configurable between 1 and 10.
─ New: Unreal Automation Tool now uses the game .ini files to add additional directories to
cook and stage.
Unreal Frontend─ New: Added in the automation test times for those which have failed. The durations were
not reflective of this.
─ Updated the tooltips, for tests, to show which machine their operations were on.
Lighting─ New: Added code to ensure that a spotlight’s inner cone angle cannot be set greater
than its outer cone angle.
─ New: Added a check during Blueprint editor startup to determine if the current project is
Blueprint or code based.
─ New: Added message box which displays the text “Infinite loop found in Blueprint:
Launcher─ New: Multiple projects can now be created from one ‘app’ and all get listed in My
─ Numerous updates and fixes.
─ Fixes for HTTP transport issues.
Linux/SteamOS─ Many updates and fixes.
iOS─ New: Added a Blueprint node for calibrating motion. Implemented for iOS devices.
─ New: Deploy from Windows to iOS.
PS4─ New: Positional Audio using libaudio3d.
─ Updated to SDK version 1.700.018
Xbox One─ Xbox One is all monolithic D3D now.
Automation─ New: Added the ability to repeat a test a number of times.
─ New: Added Editor Screen Shot Capture console command.
─ New: Added a new test to find all Static Meshes with overlapping and out of bounds
─ New: Added a test to cycle through the Static Mesh Editor toolbar to test its functionality.
─ New: You can now setup presets in the Automation tab. This allows you to setup your
own test groups for potential test runs.
─ New: You can now enable full size screenshots instead of just thumbnails. The
Screenshot Compare tool fully supports this.
─ New: The Screenshot Compare tool can be set to Show only Nth Image.
─ New: You can now cluster the testing and results for a groups of devices based on
certain criteria (e.g. GPU, machine name, CPU, OS, etc.).
─ New: Added a Test Results Report Card. The test results will now show a color graph for
each device group or machine that had ran a test.
─ Updated the Load all Maps in Editor/Game test to take screen shots.
**Known Issues: **
- Compiling for Android is currently blocked – will be fixed for 4.3 release