Unreal Engine 4.3 Now Available
Last week, Epic released Version 4.3 of the Unreal Engine to subscribers. This release features World Composition tools, spline features, Paper2D, SpeedTree 7 support, Metal API for iOS 8, and new Oculus Rift support.
— Unreal Engine (@UnrealEngine) July 16, 2014
4.3 shipping soon. Oculus DK2 support, SpeedTree, Metal API, Paper 2D, sidescroller template + big rendering, Blueprint and automation push!
— Unreal Engine (@UnrealEngine) July 15, 2014
SpeedTree® Now Available for UE4.3 Subscription: With the release of Unreal Engine 4.3 from Epic Games, we are… http://t.co/493I6P1KcQ
— SpeedTree (@SpeedTreeInc) July 16, 2014
The update lists the following changes to the Unreal Engine:
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.
New: Skylight Global Illumination
Lightmass now computes global illumination for Stationary and Static skylights!
- 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!
- 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)
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.
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.
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.
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.
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.
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.
- Note: Level Blueprints are not fully supported, though you should be able to search your current level without a problem.
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.
- 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.
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.
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.
- 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.
All of the above, plus dozens of additional updates are included in the 4.3 update. See the Unreal Engine 4.3 Update on the blog for full release notes.
Existing licensees can download the 4.3 updates now. If you are interested in using the Unreal Engine, you can get the full source code on subscription for just $19 per month.
Here are some other Twitter announcements related to the Unreal 4.3 release.
2pm ET – Unreal Engine 4.3 Preview and Rendering Update – Live from Epic HQ: http://t.co/lPId31K0vd
— Unreal Engine (@UnrealEngine) July 10, 2014
— SpeedTree (@SpeedTreeInc) July 10, 2014
— Ryan Evans (@rje) July 11, 2014
— Tesla Dev (@Tesla_Dev) July 16, 2014
By the way, in 4.3 you can deploy content from PC to iOS! #finally
— Unreal Engine (@UnrealEngine) July 16, 2014
— UnrealDevsNetwork (@UnrealDevs) July 18, 2014
— Unreal Engine (@UnrealEngine) July 18, 2014
Released yesterday, Unreal Engine 4.3 includes support for Metal API for iOS 8. Read this to get started! https://t.co/8CEe2pktqp
— Unreal Engine (@UnrealEngine) July 18, 2014