Unreal Engine 4.3 Release!
Unreal Engine 4.3 includes greatly improved mobile support, awesome new rendering features, improved Blueprint workflows, and strides toward an excellent experience on Mac and laptops. Be sure to check out the new World Composition tools, spline features, and the preview of Paper2D, our 2D toolset! Today we’re also shipping SpeedTree 7 support, our work on Metal API for iOS 8 to date, and new Oculus Rift features such as time warping.
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, Rama, Ixiguis, mpolaczyk, pzurita, raziel2001au, robert-wallis, RushPL, solid-angle, stephenwhittle, thk123, timdonkssbc100, vakathil, Xaklse, Zoubi
Rendering 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.
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: Skylight Global Illumination Lightmass now computes global illumination for Stationary and Static skylights!
With Global Illumination:
- You can use Indirect Lighting Intensity on the sky light to control how bright the bounce lighting is.
- 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.
New: Translucency Shadowing from Stationary Lights Stationary lights now properly shadow translucent materials!
Static Shadowing for Translucency:
- This is achieved by computing a shadow depth map in Lightmass covering the light's influence.
2D Game Tools Preview The Paper2D plugin is now enabled by default in the engine, so it will be usable in content-only games in 4.3.
A 2D side scroller game template has been added as well! (BP and C++ variations)
Editor and documentation now work to properly message the state of Paper2D in 4.3
- Sprites and Flipbooks are ‘Early access’
- 2D collision/physics, terrain splines, atlasing groups, and tile maps are ‘Experimental’ (hidden behind enable flags where possible)
AI Tools: Behavior Tree 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 behaviour 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: Oculus Rift Upgrade
- Upgraded to new Oculus SDK (0.3.3-pre.1 SDK), with latest goodies!
- Oculus Rift DK2 supported out of the box, with full motion tracking
- New direct rendering path and time-warping, which significantly reduces latency on the device.
- Check out our new “Couch Knights” sample, created to show off the new Oculus Rift DK2’s capabilities
New: SpeedTree 7 Supported You can now import SpeedTree assets into Unreal Engine!
SpeedTree trees and plants will all include light map UVs, dynamic LOD and wind effects. Those who download the new version will have several options:
- The SpeedTree for Unreal Engine 4 Subscription Modeler, available on Windows and Mac OS X at $19 USD per month. No royalties, per-title or per-platform fees apply.
- Trees for sale – seasonal variations, various triangle counts etc.
- Three free sample trees that can be dropped into any UE 4.3 project.
- Everything will be available at the SpeedTree Website.
Large World Support New: World Composition 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.
- Status bar has new view options: Display actor count for each level and Display full package names.
- 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 multi-selection.
- 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 that level.
- 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: Render To Texture Blueprint New texture baking features available with the ‘RenderToTexture_LevelBP’ Blueprint! In the Engine\Content\ArtTools\ directory now houses a blueprint named the RenderToTexture_LevelBP. This blueprint offers a few different baking options.
Some quick notes on usage:
- RenderToTexture_LevelBP must be located at 0,0,0 in the world
- You must have a player start in the world at 0,0,0 with 0 for rotation as well otherwise the camera will get the editor viewport rotation.
Render Unwrapped Material to Textures This unwraps with a companion material function using a vertex shader. This can be useful if you want to bake out the result of something like World Aligned Textures to cut down on cost or if you for some reason needed to capture the engine static lightmap of a mesh to do something custom with it.
Render 3D Imposter Sprites Imposters are like sprites that are represented from all view angles so they can rotate and light in 3D.
One of the meshes near the middle is a real static mesh, the rest are imposters.
It also supports a mode called "Single Rotation Axis" which is meant to represent a billboard for a distant object on the horizon. What that does is only rotate the mesh around Z so that you get either more frames or more resolution than a full imposter.
This is a test scene using the Single Rotation axis imposters. Here the material was set to randomly rotate the position of the 'flipbook' by using worldposition, giving each a unique rotation.
Render a Per Object Shadow Depth Texture This mode bakes a depth map from a specified light view and can be used to do a custom Per-Object shadow within a material. This example tree material is unlit and the shadow is provided from a depth texture. This was used on the Apple Zen demo.
Flipbook Animations This mode is very similar to the Imposter sprite function. It uses a series of mesh rotations but this time they are specified by user input rather than pre-set by the blueprint.
It renders out the desired image types as a flipbook texture which can be animated on a sprite anywhere in the engine such as a particle effect.
There is also the option to pass an "Animation Phase" parameter to the target mesh in order to render a vertex shader animation to a flipbook.
New: Credits (Thank you!) Past and future contributors are immortalized in Unreal Editor with our new Credits screen. We can’t thank you enough!”
You can access the new Credits screen through the editor’s Help -> Credits menu.
Blueprints 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. This is currently an Experimental feature and must be enabled in the Experimental section of the Editor Preferences.
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 metadata (C++).
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 component variables:
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 Particle System.
- The EndTrails function of the component will end all Anim Trail emitters in the Particle System.
- 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 time.
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.
Scalability Updates For 4.3 we’ve focused on editor performance and CPU usage of the editor
- To improve editor performance scalability settings are now auto-applied by measuring CPU and GPU performance at editor startup.
- Scalability settings may reduce the quality of some rendering settings and disable realtime preview in viewports to improve performance.
You can read more about the scalability settings that can be applied here.
- You can disable this feature and change scalability settings manually in the editor via the Quick Settings menu in the level editor toolbar
- Scalability settings may reduce the quality of some rendering settings and disable realtime preview in viewports to improve performance.
- CPU Usage has been significantly reduced when the editor is minimized.
- For laptops running on battery power, the editor framerate is throttled to a maximum of 60 hz in order to preserve battery life
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 transactional.
Marketplace Black Jack is made completely in Blueprint and is mobile ready!
- In-Editor tutorials
- New: In-Editor tutorial screens for Paper2D: Sprites and Flipbooks
- New: SpeedTree documentation is included
- New: Math Expression Node documentation page
- New: Performance & Profiling Guide
- New: World Composition documentation page
- New: Matinee Track Reference
- New: Android Quick Start guide
- Updates & Improvements to Lighting documentation
- New: Lighting Quick Start Guide
- New: Distance Field AO Information & Video
- Updates & Improvements to Physics documentation
- Walkable Slope
- Updates & Improvements to Animation documentation
- AnimNotifies & AnimTrails
- Persona Animation Editor Modes
- Added written tutorial & video tutorial links to the in-editor tutorial home screen
- Introduction to Cascade Video Tutorial Series
- Introduction to UE4 Programming Video Tutorial Series