Unreal Engine 4.2 Update Preview

**Unreal Engine 4.2 Update Preview

Once again, we’d like to extend our gratitude to all of the amazing developers who contributed code to the upcoming 4.2 release.

Abergmeier, AKPWebDesign, Allar, AndrewScheidecker, cbuttner, crnobog, DiCoJamesTan, dotneB, finger, frogameleon, gatekeep, Hydrael, Ixiguis, jkantzer, kylawl, mekaknepley, Rama, sbc100, SRombauts, StephenWhittle, wshearn, Yelmond.

On the Unreal Engine 4 Livestream today Epic will share an update on the new Unreal Tournament collaboration with the UE4 development community. Senior programmers Daniel Broder and Mieszko Zielinski will lead a discussion on artificial intelligence and the team’s current focus on AI-related features. As always, there will be news updates, community spotlights and live Q&A.

New: Sample Vehicle Game
Vehicles are now fully supported in Unreal Engine! To celebrate we’ll be releasing a really cool sample game that demonstrates a fun off-road racing experience! This will be available for free on the Marketplace with 4.2.


  •      Out of the box support for 4WD, FWD, and RWD drive trains.
  •      The default drive train simulation assumes 4 wheels; however it will work with any number of wheels.
  •      As many gears you desire.
  •      Automatic and semi-manual transmissions.
  •      And it is all completely exposed to Blueprints!


  •      Full documentation on setting up a vehicle will be available on the release of 4.2

New: Stylized Rendering Sample
The Stylized Rendering sample will be available on the Marketplace for free! This sample showcases the rendering flexibly of Unreal Engine 4.


New: Camera Animation system!
Support for CameraAnims has now been added into Unreal Engine 4! These are very similar to CameraAnims from Unreal Engine 3, but now expanded with Blueprint support.

  •      Conceptually, a **CameraAnim** is simply an animation that can be layered onto the in-game camera.  You can animate the camera position and rotation, FOV, and post process settings.
  •      They can be created in the Content Browser, you can convert a track in Matinee to one, or you can import keyframes from external tools like Maya


  •      To edit a **CameraAnim**, simply double click the asset in the Content Browser like you would any other asset. The CameraAnim editor is slightly customized version of Matinee.  
  •      Multiple **CameraAnimInsts** (up to 8 currently) can be active at once, all blending and contributing to the final camera settings.

New: User-Defined Structures for Blueprints
User Defined Structures are a brand new asset that is now available for use from within the editor!

  •      A **User Defined Structure** can be created in the **Content Browser**. 


They can be edited in the standalone editor by double clicking them in the** Content Browser**. Once you are done editing them, you can create a variable of a type of your new **User Defined Structure **in your Blueprints.


Like vectors, rotators, and other structures, your User Defined Structure will have Make and Break nodes.** User Defined Structures** should behave like native structures: USTRUCT(BlueprintType).

New: Blueprint Function Library
Users can now create a blueprint function library asset! This allows you to create a nice library of Blueprint functions that can be used throughout your project!


Unlike the Blueprint Macro Library, Blueprint Function Libraries don’t require a Parent Class, and are able to be called by all Blueprints in the current project.

New: FABRIK Inverse Kinematics Solver
**FABRIK **stands for F*orward And Backward Reaching Inverse Kinematic. *It’s an IK solver that works on a chain of bones of any arbitrary length!


  •      **End Effector** settings are the same as our TwoBone_IK node. It can be an absolute Transform, or a relative one (based on another bone from the same Skeleton).
  •      In the **Solver** section, you define the chain of bones to use, from the ‘**Root’** to the ‘**Tip’**. The ‘Tip’ will try to reach the end effector location.
  •      **End Effector Rotation Source** allows you to control the rotation (maintain component space, local space, match end effector target rotation).
  •      **Precision** is how close it needs to get. The lower, the more precise it gets to the **End Effector** Target, but the more expensive. (Although from tests it does a really nice job, and much quicker than the CCD_IK node).
  •      **MaxIterations** is there to control performance, and make sure edge cases will not take frame rate down.

Thanks to GitHub community member Stephen Whittle for this feature!

New: Canvas Render Targets

  •      You can now draw Canvas UI straight to a texture, and then map that texture to objects in your scene! 
  •      This is fully supported by both C++ and Blueprint workflows.  
  •      A special thanks to community member James Tan for submitting this.

New: Vehicle Template
We have a new project template that gives a simple automobile to start your new vehicle-based project with. Both Blueprint and C++ versions of this template will be included with 4.2!


New: Animation Blueprint Asset Override Editor
Persona now has the ability to override the assets used in Play and Evaluate nodes in parent animation blueprints from a child blueprint.
The editor for this can be found in the Window menu in Persona:


The editor collects all of the nodes that can have their animation asset overridden. New assets can be picked from the pickers on the right of the panel. This works with longer inheritance chains too and shows the most appropriate defaults for that blueprint based upon the blueprints further up in the hierarchy. Finally, the “eye” button will link you to the AnimGraph node you are overriding:


New: Improved Anim Notify Editor
Multi-select support for Anim Notifies has been added into Persona! Shift + click adds to selection, and Ctrl + click toggles a notify selection.
You can drag the selection around and it will remain within the notify panel while obeying snaps:


Copy/Paste works with groups too with a number of options:


  •      You can paste them at the absolute, relative, or original time, in relation from where they were copied.

New: Blueprint Cut and Paste for Components
Cut/Copy/Paste commands have now been added to Components mode!


  •      Select individual components and either right-click or use keyboard Cut/Paste commands to copy or move components around!.
  •      You can cut/copy components from one Blueprint and paste them right into another Blueprint!

If the selection includes a hierarchy, it will be preserved in the pasted copy!
New: Experimental Math Expression Node for Blueprints
There is a new experimental plugin available for the Math Expression Node for Blueprints. This node enables you to simply type in an expression and it will make the input pins, output pins, and a collapsed graph that contains your math expression.


  •      To use this node, simply activate the **Math Expression** plugin in the plugin manager. It will then appear in the right click context menu of the Blueprint Graph Editor
  •      Once created, type in your expression. If you make a mistake, you can edit the expression by renaming the node.

New: UV Parallax for SplineThicken Material Function
You can now add UV parallax to materials using the **SplineThicken **Material Function. This makes it look like your object is round!



  •      The normals part of the function has been re-touched and they are now transforming correctly for all object rotations. This gives accurate lighting and specular!

New inputs:

  •      **UVs for Thickness (V2):** This lets you specify a different UV channel for storing the thickness (tip to base) gradient. Useful to have this on UV1 or 2 for trees where there might be an overall tree length included not just a single pipe or branch etc.
  •      **UVs for Texturing (V2):** This is the UVs for any textures you want applied to the pipe. You need to include and scale math here so it knows how much to parallax by. This is only needed if you want the 3D parallax correction results.
  •      **DeriveNormalZ (Bool):** When checked, the shader will use DeriveNormalZ to compute the height of the normal. Gives much nicer ‘round’ shape. When *false*, 0.62 is assumed which is the average height of half a sphere centered at 0. If you want to use CustomUVs to solve the normal, you either need DeriveNormalZ to be *false*, or you need a row of vertices in the center of the spline mesh. If you do not have the added verts and use CustomUVs, it will say the normal has 0 height across the entire mesh.
  •      **AngleCorrectedNormals (Bool): **Whether to use angle corrected normals when applying the additional normal texture. More accurate but more expensive.
  •      **AdditionalNormal (V3):** Lets you specify an additional normalmap that will piggyback onto the vertexnormal transformation. 

New output:

  •      **UVs with Parallax:** This gives the UVs to use for any textures you want to have the 3d parallax.
  •      Currently the function only handles 1 texture coordinate, so if you want multiple textures to have the correction, they all need to use the same scale.

New: Animation Debug Features
There are a number of new Animation Debug commands at your disposal. First there is in game rendering of a skeletal mesh’s bones:


This is enabled using the ShowDebug Bones console command. As seen above the bones are represented by individual white lines.

  •      An alternative look, matching the bones displayed in Persona, can be enabled via the **ShowDebugToggleSubCategory 3DBones** console command.
  •      Next is the animation debug output, which can be enabled using the **ShowDebug Animation** console command.
  •      This is split up into 5 sections, each of which can be toggled on and off using the **ShowDebugToggleSubCategory** command followed by the category name listed below e.g. **ShowDebugToggleSubCategory SyncGroups**

o SyncGroups: Displays the animation assets currently contributing to the final pose, organised by their sync group (or Ungrouped if they don’t belong to a group). By default Blendspaces listed in this section show all their contributing animations / weights. To reduce screen space used by the output this can be toggled off with ShowDebugToggleSubCategory FullBlendspaceDisplay.
o Montages: Lists the montages currently being used by the character. The active montage is highlighted in green.
o Curves: List the curve values (in Name: Value pairs) that have been activated by the playing animation(s).
o Notifies: Display any notify states that are currently in effect.
o Graph: Displays the active pose graph. The display starts with the last node (the root node) which represents the final pose and goes on to list all the nodes that go into making that final pose. Nodes are represented in such a way as to keep their hierarchy, allowing the user to see which nodes are connected to what without having to refer to the original blueprint asset. Active nodes are coloured green and (if they have been toggled to display using ShowDebugToggleSubCategory FullGraph ) inactive nodes are coloured grey.

New: Level Viewport Stats
Many useful engine stats can be visualized over the viewport. You can now access these using the new “Stat” section under the viewport “Show” menu.


  •      You can also toggle most of these stats by typing “Stat <name>” into a debug console prompt.  
  •      By default the stats aren’t remembered between sessions, but you can turn that on by enabling “Save Engine Stats” in the editor’s Viewport preferences section.

New: OBJ Mesh File Format Support
You can now import .obj files for static meshes!
The file format is very simple so keep in mind that it does not support the following features:

  •      Vertex color importing.
  •      Collision importing.
  •      Tangent and binormal importing.
  •      Transforms.
  •      The model will be rotated if not modeled with Z up because with OBJ importing we have no way of getting the source coordinate system.

New: Upgraded FBX to 2014
The FBX importer as now been upgraded to the 2014 version from Autodesk.

  •      This allows Tangent and binormals on mirrored meshes to be imported correctly
  •      You can still use the earlier FBX plugins found in any Maya/Max version before 2014, but you may get a warning on import when using a very old file.

New: Windows XP Support (preview)
Developers working out of GitHub now have the ability to deploy your project to Windows XP.

  •      To enable this, set **WindowsPlatform.SupportWindowsXP** to true in UnrealBuildTool, and edit your project’s settings to enable OpenGL shader support.
  •      When running on Windows XP, OpenGL is automatically used instead of DirectX 11 for rendering 
  •      This feature is early in development and will be improved over time.

New: Improved Blueprint Support for Actor Destruction

  •      In Blueprints, the new **EndPlay** function replaces the Destroyed function.  Existing usages of Destroyed will automatically update to the new function.
  •      **EndPlay** will not just fire when an Actor is explicitly destroyed, but will also execute anytime an Actor ceases to be in the World.  This includes a level transition, a streaming level being unloaded, a PIE session ending, or Destroy being called for an Actor
  •      In C++, the **AActor:: Destroyed **virtual function remains, however it is primarily intended for editor transaction purposes.
  •      The C++ **AActor::EndPlay **virtual function takes an enumeration parameter indicating the reason the Actor has been removed from the World.
  •      The **AActor::OnRemoveFromWorld** virtual function, previously called for each Actor when the streaming level they belong to was unloaded, has been removed and its functionality included in **AActor::EndPlay**.

Improvements and Bug Fixes

  •      New: Vertex painting now works with Blueprints.
  •      New: When attaching actors, you can now use an actor picker to choose which actor to attach to.
  •      New: Added check for "Game View" when drawing geometry features in the editor.
  •      New: You can now use **Alt +  or ]** to adjust the size of the transform gizmo.
  •      New: Collections now store and display a custom colour based on the local user settings.
  •      New: Added option for **Flat Bottomed** collision to character components.
  •      New: You now have the option to remove content downloaded from marketplace.
  •      New: Creating multiple actors using drag and drop from the content browser now undo's as a single transaction.
  •      New: Added the ability to refresh the project browser list.
  •      New: You can now choose where to place a class added via the New Class Wizard.New: You can now provide a function to get the objects you want to show in the details view when creating an FSimpleAssetEditor.
  •      Moved **Source Code Access** functionality to a plugin.

o Source code access is now performed on the main thread.

  •      Changed Static Meshes to check **Screen Size** rather than Distance to calculate which LOD to use.
  •      Changed renaming an actor so it now ignores leading or trailing space when validating the name.
  •      Fixed static lighting to now be disabled for **Instanced Static Mesh Components**.
  •      Fixed project template names and descriptions to now fall back to English if a valid translation cannot be found for the current language.
  •      Fixed the **Submit Files Dialog** to now follow the same style as the rest of the engine.
  •      Fixed the Cascade **ToggleRealtime** tooltip to match the other Editor Viewports.
  •      Fixed **Particle System Components** to now toggle visibility correctly. 
  •      Removed viewport-position menu items from the scene outliner menu.
  •      Disabled **Ctrl-select** when using vertex paint.
  •      **Content Browser**
  •       New: **Enter** and **Space** **Bar** keys can now be remapped for the **Content Browser**.
  •      **Material Editor**
  •       **New: Release Stats** and** Build In Stats** toolbar buttons now have icons.
  •       New: Added Find Results tab to Material Editor.
  •       New: Added shortcut for component mask on **Shift+C**.
  •      **Texture Editor**
  •       Changed the **Use Specified Mip Level** property (**bUseSpecifiedMipLevel)** to now default to false, and the number of cinematic mips is ignored by the UI when it's true.
  •      **Persona**
  •       Changed the default and details inspectors so they are now disabled when editing a read only graph.
  •       Fixed the erroneously set flag **CPF_DisableEditOnTemplate **by adding code to clear it.
  •      **Source Control **
  •       New: Added ability to sync directories from source control in the Editor.
  •      New: Added P4 API 2014.2 with OpenSSL 1.0.1g.**BSP**
  •       New: A BSP actor is now deselected when none of its surfaces are selected.
  •       Fixed the Slate Property Editor Combo element (**SPropertyEditorCombo)** to update the selection before opening itself.
  •      **UI**
  •       Fixed restoring from full screen to now set the window position on the native window.
  •      **Viewports**
  •       New: In-game Slate UI is now visible in editor viewports when in immersive mode.
  •      **Scene Outliner **
  •       New: Added filter that hides actors that aren’t in the current level.
  •       New: There is now a menu option for scene outliner folders to select all the actors within that folder.
  •       New: Duplicate now functions with hidden actors.
  •       Changed the 'eye' visibility icon to acts on the current selection, if the row is selected.
  •       Removed viewport-position menu items from the scene outliner menu.
  •      **Landscape**
  •       New: Implemented navigation geometry export for instanced static meshes.
  •       New: Added support for landscape splines to FBX export.
  •       Removed sculpting-only options from flatten tool when in paint mode.
  •      **Audio**
  •       New: Integrated **Omni Radius** from Unreal Engine 3.
  •      **Animation**
  •       New: Native **Anim Notifies** and states are now supported.

iOS, Android, and HTML5

  •      Lots of iOS, Android, and HTML5 improvements – full details will be in the final release notes.


  •      Fixed duplicate move calls occurring on Blueprint Graph nodes. 


  •      New: The build scale is now taken into account when calculating a Static Meshes streaming texture factors.
  •      New: Particle parameter distributions can now be used in conjunction with **Color Over Life** for GPU sprites.
  •      New:** Mesh Modifies Material Position** now uses the result of the material translator.
  •      New:** Particle Lights** now work with camera offset (per-view).
  •      New: Added commandlet which lists all **Static Mesh** assets that were imported from **Speedtrees**.

Nice stuff! Vehicles seem to address ground vehicles. What about aircraft or spacecraft with mobile parts or articulations?

Great update - can’t wait!

I got those errors, compiling 4.2 preview:

Erreur 4 error : Failed to produce item: C:\Unreal Engine\Engine\Binaries\Win64\UnrealHeaderTool-Core.dll C:\Unreal Engine\Engine\Intermediate\ProjectFiles\ERROR UE4
Erreur 1 error C1083: Impossible d’ouvrir le fichier include : ‘tbb/scalable_allocator.h’ : No such file or directory C:\Unreal Engine\Engine\Source\Runtime\Core\Private\HAL\MallocTBB.cpp 25 1 UE4
Erreur 3 error C1083: Impossible d’ouvrir le fichier include : ‘ThirdParty/zlib/zlib-1.2.5/Inc/zlib.h’ : No such file or directory C:\Unreal Engine\Engine\Source\Runtime\Core\Private\Misc\Compression.cpp 13 1 UE4
Erreur 2 error C1083: Impossible d’ouvrir le fichier include : ‘unicode/locid.h’ : No such file or directory C:\Unreal Engine\Engine\Source\Runtime\Core\Private\GenericPlatform\GenericPlatformMisc.cpp 21 1 UE4
Erreur 5 error MSB3073: La commande “…\Build\BatchFiles\Rebuild.bat UE4Editor Win64 Development” s’est arrêtée avec le code 2. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.MakeFile.Targets 43 5 UE4


Could you probably post this onto answerhub? https://answers.unrealengine.com/index.html :slight_smile:

Nice, since UDK I’m waiting for a obj import feature. Thx for adding it :smiley:

My '70 Challenger awaits you!

Looks great! Any word on Maya OS X support for the A.R.T. plugin and such? Or when the platform game sample will be released?

Thanks for the preview! Looks Great! Will 4.2 be released this week?

I’m afraid, 4.2 is still a bit out. We’re trying to reach RC0 by Monday or so, and then it’s going to take at least another week to verify everything, fix last minute bugs, and deal with logistics.

will the vehicle template work for monopods or just 2+ wheels?

This deserves a hell of a lot more than a tiny blurb in a massive list of changes! Thank you so much!

Is this for edge collision detection?

But is it possible to automatically set opengl to be used on other os (win 7/8 ecc.)?
So to allow not dx 11 enabled gpu to be able to run the game anyway?

I seriously would have been happy with just the ability to make blueprint structs but add in FABRIK, Canvas render targets and everything else and I’m really really excited for this :smiley:

Wow. I honestly was not expecting my name to show up in the list of developers who contributed code. All I even did was fix a very minor spelling mistake, but I guess every bit counts, eh? Either way, I’m glad to help, and perhaps I can do more than be a human spellchecker once I start learning C++ a bit more. :smiley:

Can I use my Logitech G27 Racing Wheel set with UE4.2? Will there be tutorials on importing my own 3D models of vehicles into UE4.2?

I am super excited for this release.

I am mostly excited about FABRIK. I hope that should help get my characters to put their hands on the right places in their weapons with minimal effort and few (or no) additional animations. Thanks so much Stephen Whittle!

Yes. I just tried out the preview build, and it solves exactly the problem I was having with the bottom of the collision capsule colliding with sharp edges on its curve.

Is there a chance
You could fix the custom collision bug on spline lines? I also wrote a post on answerhub, because of it:

The problem is if you use on a mesh the collision “use complex collision as simple” and add the mesh to a spline the mesh don’t get any collision.

Another thing which would be awesome if you could create landscapes and cut off pieces from it, and create it as a sub level, the problem currently is. If you have multiple landscapes thn it’s difficult to get a smooth level streaming transition beteeen them. :slight_smile:

And I have another question is it a bug that foliage models have no LOD’s? Or is this like it should be? Because I have the problem.

Best regards