Published: Thursday, 03 July 2014 12:09
Unity 5
Published: Thursday, 03 July 2014 12:09
ShowCase - Unity 3D - The Butterfly Effect

The Butterfly Effect is a collaborative project between Unity Technologies Stockholm office, two-time Academy Award winning creators of Gorillaz visuals Passion Pictures, and Nvidia to push Unity to new levels of technological advancement. The goal, through the creation of a high-quality real-time rendered short, was to take many techniques and workflows used to create hollywood blockbusters and apply them to Unity in ways that would benefit the entire Unity community. The Butterfly Effect demonstrates the amazing results of our collaboration. Butterfly



Published: Thursday, 03 July 2014 12:09
Showcase - Unity 3D - Road Architect

Professional quality road system creator featuring dynamic intersections, bridges and many other road objects. Guaranteed quality and results. Create complex road systems with intersections, bridges and more in just minutes. Dynamic intersections with multilane support and left and right turn lanes support. 




Published: Thursday, 03 July 2014 12:09
Showcase - Unity 3D - Shader Forge

Shader Forge is a node-based shader editor, aiming to push the visual quality of Unity to new heights, giving you the artistic freedom of shader creation in a visual and intuitive way - no code required!



Published: Thursday, 03 July 2014 12:09
Showcase - 3D Max - GhostTown

ghostTown 0.317 Lite Beta for 3ds max 2011-2012 x64

Download free version


Published: Thursday, 03 July 2014 12:09
Unreal Engine 4.2





We’d like to thank all of the amazing developers who contributed code in this release. We are humbled and amazed by what you are doing!

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



Vehicles are now fully supported in Unreal Engine! This sample game features an off-road vehicle and a looping track within a desert setting. Race across sand dunes, rocky cliffs and ancient ruins, and try to beat your best time!

New Sample Vehicle Game

  • 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 as you desire.
  • Automatic and semi-manual transmissions.
  • And it is all completely exposed to Blueprints!

Mechanical Setup for Vehicle Game


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


CameraAnim System

  • 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.

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

User Defined Structure can be created in the Content Browser.

User-Define Structures in Blueprints

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.

Content Browser Blueprints

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


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!

Blueprint Library

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.


FABRIK stands for Forward And Backward Reaching Inverse Kinematic.  It’s an IK solver that works on a chain of bones of any arbitrary length!

Fabrik Inverse Kinematics Solver

  • 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 EffectorTarget, 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!

  • 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.

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 are available now!

Vehicle Template


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:

Asset OVerride

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:



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:

Image Notifier

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.


Cut/Copy/Paste commands have now been added to Components mode!

Blueprints Cute/Paste

  • 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!

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.

Experimental Math Expression Node

  • 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.

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

SlineThicken Example

  • 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!
  • 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.
  • 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.


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

Animation Debug Features

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 theShowDebugToggleSubCategory 3DBones console command.
  • Next is the animation debug output, which can be enabled using the ShowDebug Animationconsole command.
  • This is split up into 5 sections, each of which can be toggled on and off using theShowDebugToggleSubCategory command followed by the category name listed below e.g.ShowDebugToggleSubCategory SyncsGroups
    • 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.
    • Montages: Lists the montages currently being used by the character. The active montage is highlighted in green.
    • Curves: List the curve values (in Name: Value pairs) that have been activated by the playing animation(s).
    • Notifies: Display any notify states that are currently in effect.
    • 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 usingShowDebugToggleSubCategory FullGraph ) inactive nodes are coloured grey.

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.

Level Viewport Stats

  • 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.

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.

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.

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.

In the 4.2 Preview Notes it was listed that the EndPlay event would replace the Destroyed event in Blueprints, this is no longer the case for 4.2.

  • In Blueprints, the new Event EndPlay node will eventually replace the Event Destroyed. TheEvent EndPlay node should be used going forward.
  • 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
  • Also, the EndPlay node now gives the reason for it executing (Actor Destroyed, Level Transition, the end of Play in Editor, and Removed from World)
  • 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 inAActor::EndPlay.



Stylized Rendering - The Stylized Rendering showcase is available on the Marketplace for free! This sample demonstrates the rendering flexibly of Unreal Engine 4.

stylized Demo

Sci-Fi Hallway – His amazing Sci-Fi scene inspired by a Deus Ex concept comes from Quixel’s CMO Wiktor Öhman.

Sci-Fi Hallway

New Pivot Painter Content Example Map – Still images don’t do this example justice. The Pivot Painter feature of Unreal Engine 4 can be used to add life quickly and efficiently to anything that needs some sort of ambient movement.

Pivot Painter

New Audio Content Example Map – Like the Pivot Painter map, the Audio Map is one you just need to load up and browse through. It shows off the basics of Sound Actors and various sound effects.

Pivot Painter


  • New: Vehicle Setup Guide – How to setup a vehicle in Unreal Engine 4.
  • New: Vehicle Content Guide – Setting up the art content for a vehicle.
  • New: Particle User Guide – Cascade User guide updates.
  • Texture Painting – Painting textures and vertices in the editor.
  • Audio Documentation Updates – The reference for all things auditory in Unreal Engine 4.
  • Refactored Content Examples Documentation Page – New directory pages allow you to see all available content examples for different features at a glance.
  • New: Added a walk through for the Destructible Mesh Editor.
  • Changed the Tutorial Landing window in the Editor to show all available In-Editor Tutorials.
  • Fixed the Destructible Mesh Editor no longer shows the Skeletal Mesh Editor tutorial.
  • New: Added brief descriptions of every module to the API documentation


  • New: Unreal Engine Launcher Installer is now localized into Korean and Japanese.
  • New: Unreal Engine desktop and start menu shortcuts now have a proper, localized, tooltip description.
  • New: The Unreal Engine Launcher Installer will now inform users installing on Windows 7 if they do not have SP1 installed.
  • New: You can find links to lots of content documentation and other info all located in the lower right of the launcher.
  • New: Mouse over any of your content and you can choose to uninstall or verify.
  • Improved Startup speeds.
  • We’ve modified how and when the launcher calls for content data to improve start-up time.
  • Fixed the launcher so it will no longer restart the UE4 download process from the beginning if it was closed during the “Installing” phase.
  • Fixed a number of localization bugs for Korean and Japanese.
  • Fixed the Launcher so it should now always restart after self-updating on Mac.
  • Fixed a number of inconsistencies with downloads and content in Offline mode.
  • Fixed a problem with the installer failing for Win8 and Win 8.1.
  • Fixed the launcher to check for not of enough disk space.
  • Fixed an issue where you could not choose a download location on Win 8.1 due to default UAC permissions.
  • Fixed the right-click .uproject options not working on Windows.
  • Fixed the launcher becoming unresponsive when updating from 1.1.0-2054669 to 1.2.0-2064046 with UE_4.1 and all 4.1 samples downloaded.
  • Fixed opening a project from the Launcher so it will no longer skip the update process.
  • Fixed the launcher so that sample content that has changed project names will now be able to be opened through the launcher.
  • New: The feed is your one stop for all news and stories
  • New: New pinned stories to highlight important updates. You can dismiss them by clicking the pin Icon on each story.


  • 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.
  • New: Simple and Group Stat Exec commands can now be triggered from the level viewport Showmenu directly.
  • New: Added a one pane (1x1) editor viewport layout.
  • New:  The Editor now informs the user on the success of importing and exporting.
  • New: AllowPreserveRatio is now a metadata flag we scan for on FVector UProperties.  It causes a ratio lock to be added (like the one for scale) to the editor.
  • New: Unreal Engine 4 now supports applying the material to only to the sub-mesh that you drag the material onto.  If you are holding down the [Shift] key we'll apply the material to every slot (the old behaviour).
  • New: UMG work has begun, the UMG / UMGEditor modules exist but are highly volatile right now.  UMG can be enabled with -umg when running the editor.  It's extremely early and very buggy and not user friendly.
  • New: Added the ability to copy and paste location, rotation, and scale from the details panel.
  • New: Added an option to force loading movies to complete even if the game has finished loading.
  • New: Added an option to toggle whether or not loading movies can be skipped by a user.
  • New: Added an option in the preferences to ignore snapping to floors when dragging from the content browser.
  • Changed the UI for toggling between absolute and relative transform components.  You can now toggle this via the drop down arrow next to a transform property in the details panel
  • Changed the way actors are renamed when converted.  If a custom name is not present, the conversion process will be allowed to rename the actor.
  • Upgraded the FBX SDK to 2014.2.1 which makes all FBX 2014 files compatible with the editor.
  • New: In-game Slate UI is now visible in editor viewports when in immersive mode.
  • New: Added user-editable array of object query types to Radial Force components.
  • Changed the FBX import type selector to now have some extra text informing the user that a particular import type has been auto-detected, and a warning if the user attempts to override this.
  • Changes to socket transforms now reflected immediately in asset instances in the world.
  • Changed Duplicate to now function with hidden actors.
  • Changed Dynamic Expression Parameter nodes to update when another is renamed.
  • Changed the Based movement to now use the character base.
  • Changed the Based-movement for characters to now use quaternions.
  • Adjusted normal map auto detection to consider alpha=0 pixels as black for the averaging (to avoid misidentifying predominantly blue sprites as normal maps).
  • Updated Project Settings to now always save as default.
  • Moved Source Code Access functionality to a plugin.
  • 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.
  • Changed “Range” Properties in the details tab to now have their own structure customization.
  • Updated the render material in canvas for ES2 mode.
  • Fixed Engine Content from appearing in "Submit to Source Control..." dialog when it shouldn't.
  • Fixed the Submit message icon to no longer be a 'stop' symbol.
  • 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.
  • Fixed docking not working correctly when docking over the scene outliner.
  • Fixed up issues found when creating a new source control provider.
  • Fixed opening multiple instances of Visual Studio.
  • Fixed crash on shutdown on Mac.
  • Fixed Subversion not connecting to working copies with spaces in their paths.
  • Fixed missing Font Editor toolbar icons.
  • Fixed the size of some editor sprites for Actor types whose sprites were too large.
  • Fixed a divide by 0 error when zooming out level viewport too far.
  • Removed STAT url until the page is working again.
  • New: Implemented Anim Trails type data for creating trails vfx.
  • New: Enter and Space Bar keys can now be remapped for the Content Browser.
  • New: Release Stats and Built-In Stats toolbar buttons now have icons.
  • Built-in Stats - These stats show the base cost of a shader without any nodes in the graph.
  • Release Stats - This toggles use of either the debug or release shaders when displaying stats.
  • New: Added Find Results tab to Material Editor.
  • New: Added shortcut for component mask on Shift+C.
  • 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.
  • 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.
  • 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.
  • New: Behavior trees can now use root level decorators from sub-trees.
  • Fixed restoring from full screen to now set the window position on the native window.
  • New: In-game Slate UI is now visible in editor viewports when in immersive mode.
  • 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.
  • New: Implemented navigation geometry export for instanced static meshes.
  • New: Added support for landscape splines to FBX export.
  • New: Added support to consider LODBias/ForcedLOD affects to Lightmass geometry.
  • New: Added new LOD falloff model to reduce triangles easily with good transitions.
  • New: Exposed Auto Rotate on Join to the Spline tool UI.
  • New: Added support for moving Landscape Splines to streaming levels.
  • Reduced landscape layer importing time.
  • Fixed selection rendering when re-registering.
  • Fixed LODDistanceFactor applying problem.
  • Fixed issue where some landscape components would fail to compile the material.
  • Fixed crash when clearing the LandscapeMaterial property on an existing landscape.
  • Fixed rendering of landscape components with holes after they'd been moved to a streaming level.
  • Removed sculpting-only options from flatten tool when in paint mode.
  • New: Added tiled landscape importing. Tiled heightmaps/weightmaps can be exported from an application like World Machine.
  • New: Integrated Omni Radius from Unreal Engine 3.
  • New: Native Anim Notifies and states are now supported.
  • New: Added a new cloth collision type which enables to interact between the character and other clothing objects, like a curtain. It just works with turning on the check box "Collide with Environment".
  • Added additional cloth visualization menus. You can see "Clothing" sub-menu when clicking "Show" menu in Persona. It only appears when the character has clothing.
  • New: Added Search functionality to Translation Editor with a new Search tab.
  • New: Added import/export to Portable Object (.po) format buttons to allow translation in 3rd party applications. On import, changes are shown in the "Changed on Import" tab.
  • Increased the number of directories searched for Localization projects to include "LocalizationPath" directories specified in configuration files.
  • New: Added support for copy-and-paste for component selections in Components mode within the Blueprint editor.
  • 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.
  • New: Added Sun Disc Scale property to the Atmospheric Fog Actor to control sun disk size in the sky.


  • New: You can now drag-n-drop other Blueprint assets into a Blueprint graph to get an Add Child Actor Component node.
  • New: Added Deproject node to HUD Blueprints, and Deproject Screen Position to World to Player Controller Blueprints.
  • New: Local variables in Blueprint functions now utilize Get/Set nodes.
  • New: Sky Lights are now a Blueprintable class.
  • New: Added an EnumLiteral node.
  • New: You can now use the arrow keys to navigate Blueprint variable pin type selection and components' dropdown menu.
  • New: When replacing actors with Blueprints via the right click "replace with actors" menu, if the Blueprint is a child of that actor, the editor will try to copy over properties.
  • Hid deprecated nodes from the default GetMenuEntries behavior of UEdGraphSchema::GetGraphContextActions.
  • Allowed derived classes to be selected in the debug filter widget.
  • Disabled debug and trace site generation when compiling in a commandlet (such as during cooking).
  • Changed Blueprint compiler errors to only display once when entering Play in Editor and will not reappear until the Blueprint is modified.
  • Updated the Spring Arm Component with more options including rotation lag, and only inheriting rotation from certain components.
  • Updated the Game Mode to allow no Pawn specified.
  • Exposed the Set Phys Material Override node on Primitive Components to Blueprints.
  • Fixed crashes in duplicating timelines and improved workflow in making external graphs.
  • Fixed Blueprint compile error message when self pin type is missing or is otherwise unknown.
  • Fixed "create Blueprint based on selected actor" to work with actor types without an asset associated with them.
  • Fixed a serialization crash that occurs when there is a cyclic dependency between a Blueprint class and an implemented interface.
  • Fixed Blueprint function node output pins incorrectly mapped to internal skeleton class types.
  • Fixed a pin connection issue / potential crash when changing the spawn class type on a SpawnActor node with connected inputs.
  • Fixed a logic error in busy-waiting for the game thread to finish executing when a Blueprint breakpoint is hit.
  • Fixed a crash when attempting to place a migrated Blueprint asset that derives from a native C++ class.
  • Fixed a crash when attempting to open a new Blueprint derived from a TriggerBox.
  • Removed internal "SKEL_*" classes from the class picker.


  • New: Added r.RenderTargetPool.Events to visualize Render Target Pool usage over a frame
  • New: Sky lights with Static Mobility can now be baked and are now supported and work on mobile.
  • New: Added r.AmbientOcclusionSampleSetQuality cvar now it  can be used with larger radius and less levels.
  • New: Added support for taking orbit offset in to account when generating particle spawn and death events.
  • New: We now show instruction counts for mobile lightmapped shaders without distance field shadows in the material editor.
  • New: Added show flags to disable directional/point/spot light contributions
  • New: Added r.OptimizeForUAVPerformance for performance tests.
  • Updated the Directional Light selection process for exponential fog inscattering to use the first light configured as "IsUsedAsAtmosphereSunlight".
  • Updated Point Attractors so they can now filter motion along axes.
  • Updated Mesh particle CPU rendering to optimize them for ES2.
  • Changed tangent space calculations to better match xNormal.
  • Improved game console auto completion to be more like editor.
  • Optimized and improved Screen Space Ambient Occlusion using dither noise and fewer samples.
  • Updated allocated and free GBufferTargets to now allow reuse on demand, however you  still need to release them earlier than post processing if possible.
  • Updated OpenGL 4 support:
    • ARB_vertex_attrib_binding
    • ARB_buffer_storage
    • Re-enabling redix sort on OpenGL
    • Depth bounds test
    • NVX_gpu_memory_info
    • ARB_tessellation_shader
  • Optimized Render Target usage and optimized out a pass for Tile Deferred Lighting, one less consumer for Light Accumulation.
  • Renamed some Light Propagation Volume prt light configured as "IsUsedAsAtmosphereSunlight".
  • Updated Point Attractors so they can now filter motion along axes.
  • Updated Mesh particle CPU rendering to optimize them for ES2.
  • Changed tangent space calculations to better match xNormal.
  • Improved game console auto completion to be more like editor.
  • Optimized and improved Screen Space Ambient Occlusion using dither noise and fewer samples.
  • Updated allocated and free GBufferTargets to now allow reuse on demand, however you  still need to release them earlier than post processing if possible.
  • Updated OpenGL 4 support:
    • ARB_vertex_attrib_binding
    • ARB_buffer_storage
    • Re-enabling redix sort on OpenGL
    • Depth bounds test
    • NVX_gpu_memory_info
    • ARB_tessellation_shader
  • Optimized Render Target usage and optimized out a pass for Tile Deferred Lighting, one less consumer for Light Accumulation.
  • Renamed some Light Propagation Volume pr project/recompile binaries as necessary.
  • Fixed Crash reports are so they now are always evaluated client side, in case there were bits of the callstack that are viewable.
  • Fixed Skeletal Mesh Components, in the level editor viewport, to now correctly update their LODs.
  • Fixed an issue that caused worlds with editor offsets to re-offset themselves every time the visibility of the world is toggled off and on.
  • Fixed an accounting error in ToggleBetweenPIEandSIE that caused StartMatch to never be called since the game mode thought there were no players, only spectators.
  • Fixed an issue running tappy chicken on PC Fixed an issue with control menus in vehicle game sample.
  • Fixed an issue that was preventing some folders from being properly removed during uninstall of Unreal Engine.
  • Fixed a crash at shutdown in DirectoryWatcher. Cancelled I/O requests must be completed before closing the handle and deleting the request.
  • Fixed a bug that caused non-assert crashes to fail to produce a callstack in the log.
  • Fixed if statement logic in Blueprint loading that would only access a variable if it was NULL, instead of only if it was !NULL
  • Fixed Network connections to no longer time out in Play in Editor, after all, the servers are local.
  • Fixed socket renaming display bug in Persona
  • Fixed bug with derived Blueprints not showing inherited properties
  • Fixed crash when loading a skeletal mesh if an attached asset could not be found
  • Fixed bug in Layered Blend Per Bone where moving to 0.0 would fail to update the pose properly.
  • Fixed invisible collision in landscape splines if the mesh is deleted.
  • Fixed re-import of 8-bit heightmaps to an existing landscape.
  • Fixed various landscape editor commands getting run on the pie world by accident (causing crashes).
  • Fixed ramp and landscape splines tools not updating landscape collision/navmesh.
  • Fixed "camera" and "visibility" trace flags on landscape splines.
  • Fixed bug on mobile devices where ragdolls rendering was not being properly updated.
  • Fixed sub-stepping support for dedicated servers.
  • Fixed PhAT body selection not working when translucent picking is disabled.
  • Fixed destructible mesh chunk islands not being properly updated.
  • Fixed crash in Form extended destructible mesh.
  • Fixed collision detection for instanced static mesh.
  • Fixed texture visualization to work correctly when camera constraint black bars are being displayed, and when using resolution scaling (r.ScreenPercentage).
  • Removed sculpting-only options from landscape editor flatten tool when in paint mode.
  • Removed the Mouse Wheel Spin input mapping.
  • Removed bUseSingleBodyPhysics from Skeletal Mesh.
  • - New: Added first version of the thread view. To capture the data in the game use stat startfileraw console command.
  • New: Added support for displaying a Histogram of float values. Use FDebugFloatHistory to record samples, and DrawDebugFloatHistory to draw in game. Also available in Blueprints.


  • Override Attenuation now toggles which attenuation options are available in properties.
  • Renamed Sound Cue categories and re-ordered Sound Actor categories.
  • Integrated Omni Radius feature for sounds that was previously added to UE3.
  • Created Opus audio format for future use in streaming sounds.


  • New: Support for scripting language integrations via plugins.
    • To go along with this, there is an experimental Lua integration.
  • New: Added DEPRECATED macro to support old C++ API deprecation.
  • Fixed an error when copying visualizers when logged in as SYSTEM.


  • New: Added a show flag for Paper2D sprites.
  • New: Added prototype sprite atlas generation (several unresolved data/workflow issues).
  • New: Added placeholder settings panel.
  • New: Added custom archive version for UPaperSprite assets.
  • New: Sprites can now render in wireframe mode.
  • Set UPaperRenderComponent default mobility to static.
  • Paper2D module marked as runtime, allowing use in cooked games (Note: the plugin must be enabled in BaseEngine.ini and the engine recompiled for use in content only games).
  • Implemented AdditionalStatObject to return the associated asset in the Paper2D render components (used for stats and error messages).
  • Updated built-in materials to reference a smaller texture and hooked up Opacity link in case they are changed to Translucent.
  • Sanitized generated asset names when importing JSON sprite sheet frames.
  • Forced VMI_Lit for both orthographic and perspective modes in the Paper2D viewport clients.
  • Partially fixed tile map rendering rot (still not rendering correctly).
  • Fixed negative volume 3D collision bug which caused NAN masses and missing collisions.
  • Fixed support for RTS_Actor and RTS_Component spaces in UPaperRenderComponent::GetSocketTransform.
  • Fixed crash when cooking with Paper2D plugin enabled.
  • Fixed bogus selection rectangle in tile set viewport.
  • Fixed sprites not showing up in sprite/flipbook editor viewports.
  • Fixed missing toolbar icons in sprite and flipbook editors.
  • Fixed typos in slow progng>autologin flow, it's not correct, as we are actively trying to login.


  • New: A new socket subsystem supporting IPv6 has been added.
  • New: Experimental support for Windows XP added.
  • New: OpenGL is now available for cooked windows builds.
  • New: Added a Target RHI option for Windows available through Edit -> Project Settings -> [Platforms | Windows]
  • Improved support for GL3 hardware.
  • New: Mobile advertising support framework.
    • Basic framework support for both iOS and Android.
    • Initial support for iOS that allows third party frameworks, with symlink and file staging support from plug-ins and modules
    • Initial support for TapJoy advertising plug-in for iOS.
  • Improved support for GL3 hardware.
  • Increased timeout when connecting to servers to help with load times during development.
  • Cleaned up code that deals with writing data to outbound bunch.
  • Fixes for seamless travel bugs.
  • Fixed a fairly large bug that could cause an assert during edge case conditions when writing to the outbound bunch.
  • ng>autologin flow, it's not correct, as we are actively trying to login.


    • New: A new socket subsystem supporting IPv6 has been added.
    • New: Experimental support for Windows XP added.
    • New: OpenGL is now available for cooked windows builds.
    • New: Added a Target RHI option for Windows available through Edit -> Project Settings -> [Platforms | Windows]
    • Improved support for GL3 hardware.
    • New: Mobile advertising support framework.
      • Basic framework support for both iOS and Android.
      • Initial support for iOS that allows third party frameworks, with symlink and file staging support from plug-ins and modules
      • Initial support for TapJoy advertising plug-in for iOS.
    • Improved support for GL3 hardware.
    • Increased timeout when connecting to servers to help with load times during development.
    • Cleaned up code that deals with writing data to outbound bunch.
    • Fixes for seamless travel bugs.
    • Fixed a fairly large bug that could cause an assert during edge case conditions when writing to the outbound bunch.
    • HasStarted (split off from 
      ) is called when entering, which calls 
       on all actors. Normal gameplay is in progress. It transitions to the next state if 
       returns true, or if someone calls 
  • WaitingPostMatch is the next state, and HandleMatchHasEnded (wasPerformEndGameHandling) is called when entering. Actors are still ticking but new players are not accepted. It transitions to the next state when a map transfer starts.
  • LeavingMap (was bLevelChange) is the last state, and HandleLeavingMap (was GameEnding) is called when entering. The match stays in this state while transfering to a new map.
  • Aborted is the failure state, started from AbortMatch. This is set when there is an unrecoverable error.
  • Changed AGameMode::bDelayedStart into a new flag, bStartPlayersAsSpectators. If true, new players will initially spawn as spectators, if false they'll spawn directly as pawns. bDelayedStart now only affects rather the match should start immediately.
  • Changed the maximum number of Physics Material Surface Types to 64.
  • Changed FCoreDelegates::OnObjectPropertyChanged to take the property change event as an additional parameter.
  • Changed AActor::BeginPlay to now happen earlier in some situations. It happens when the game state transitions to WaitingToStart or InProgress for the first time, previously it only happened when the match started. Renamed functions so UWorld::BeginPlay is what calls AActor::BeginPlay.
  • Moved Blackboard Component's reference over from BehaviorTreeComponent to BrainComponent.
  • Renamed Nav Movement Component's GetActorLocation to more appropriate GetActorFeetLocation.
  • Changed the preview attached asset type from raw pointer to TAssetPtr.
  • Changed the signature of FAssetTools::CreateDiffProcess() to take filepaths explicitly as separate params.
    • Adds abstraction between the public API and the diff provider. API no longer exposes the diff command line format.
  • Updated FAssetTools::CreateDiffProcess. Any uses of will need to have the filenames removed from the arguments and passed in though the new New and Old filename variables.
  • Fixed Stationary mobility from showing up on anything except subclasses ofULightComponentBase.
  • Fixed FCoreStyle initializing and failing per file when all of its assets are missing (Saves 1-2 seconds of load time on iPhone4 for games that don't use Slate).
  • Removed the obsolete ‘Z’ parameter in UCanvas::DrawTile().
  • New: Licensee Engine Version support (Changelist part).
    • Modified UpdateLocalVersion UAT script to be able to set licensee versions and custom change lists.
  • New: TWeakPtr<Base> is now comparable with TWeakPtr<Derived> and all TWeakPtrs are now comparable with nullptr.
  • New: TArrays can now be copied with an ExtraSlack parameter to reserve space after the copied elements.
  • New: Additional FString functionality:
    • AppendChars can take a character count to allow the use of not-null-terminated strings or partial strings.
    • const TCHAR* + FString operator.
    • More rvalue awareness.
  • New: UnrealHeaderTool now handles #ifdef/#ifndef/#elif/#else directives.
    • Contents of these blocks are skipped in their entirety by UHT - it's not proper support, but will allow more native code to compile.
  • Changed the build system to now take care of building generated code.
    • *.generated.inl files no longer needed to be included by users.
    • Including a .generated.inl file will now issue a compiler warning to remove the include.
    • In a future engine release, the .generated.inl which warns will be removed entirely and the #include will fail.
    • New: Delegates and multicast delegates now support UFunction bindings.
    • Combined SetObject() and SetFunctionName(), on script delegates, into BindUFunction().
    • Updated TWeakObjPtr to now have proper assignment operators, so that explicit boxing of UObject values is no longer necessary.
    • Refactored GIsBenchamrking, GUseFixedTimeStep to FApp::IsBenchmarking and FApp::UseFixedTimeStep respectively.
  • FCrc::StrCrc32 no longer warns when instantiated with a 1-byte character type.
  • FString constructor with ExtraSlack no longer reads off the end of the source string.
  • FString::Replace no longer mutates the const source string (thread safety issue).
  • Files without BOMs are now treated as UTF-8 rather than just ANSI.
  • TSharedPtr, TWeakPtr and TSharedRef are now move-aware.
  • Build times improved in functions containing lots of TSharedPtr assignments.
  • Renamed assets referenced by Blueprint CDOs no longer incorrectly warn about being referenced by code.
  • You can now changle previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file.
  • If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore'.
  • The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed
  • IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget().
  • After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project.
  • If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore'.
  • If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine.
  • Updated
Published: Thursday, 03 July 2014 12:09



“If an injury has to be done to a man it should be so severe that his vengeance need not be feared.”
-Niccolo Machiavelli

“Damage” is a common concept in games, so I wanted to give a quick primer on the damage functionality we’ve included in the UE4 game framework.

Damage support is a feature of the base Actor class, making it widely available. The system provides easy access to common functionality for quick results, while also being extensible to allow you to customize your damage model when needed. We’ve also made an effort to avoid making assumptions about how to respond to damage, meaning you won’t find any notion of “hit points” or “death” in the engine. These concepts tend to be very game-specific, and we’ve found that attempts to generalize them end up causing more pain than they prevent.


There are a few commonly-used concepts we use when talking about damage that I’ll cover quickly.


As the name suggests, a DamageType is an object used to describe the “type” of damage, independent of its origin. This can be a very useful concept if you have many sources of damage and you want common functionality between them.

An easy example to illustrate this would be fire damage. Let’s say you want anyone who takes fire damage to yell “WOW SO HOT” and run to the nearest water. Rather than duplicate code to do this into every actor that can burn the player (or for every type of actor who could be burned), you can define a damage type for fire (UDamageTypeFire), give it some type of HandleDamagedCharacter() function, and call it appropriately from your TakeDamage() call chain.


The Instigator is who caused the damage, typically a PlayerController or an AIController.  In the case of fire damage, this might be the player or AI who lit the fire.


The “causer” is usually what caused the damage, such as the ACampFire actor that you just walked through.


Let’s look first at damage support in native code. 

In this case, damaging an actor is simple -- just call TakeDamage() on it.

virtual float TakeDamage(float DamageAmount, struct FDamageEvent const& DamageEvent, class AController* EventInstigator, class AActor* DamageCauser);

Likewise, to respond to damage, simply override TakeDamage() on the receiving actor and insert your custom handling. Easy!

You’ll notice that the TakeDamage() call accepts a DamageEvent as a parameter.  This FDamageEvent data structure contains data about the specific circumstances of the damaging event so that your response code can react appropriately. UE4 comes with 3 flavors of damage event built-in.


“This particular spot on my face hurts because it got hit from that direction.”

A point damage event models damage applied at a specific point on the victim, such as from a bullet or a punch. It contains the direction the hit came from and a FHitResult that describes the surface impact.


“My whole left side hurts because of that big blast over there.”

A radial damage event models radial damage from a point source, the obvious example being from an explosion. It contains the epicenter of the blast, data to describe the damage falloff through space, and a list of affected components.



This is the most generic damage model available, containing only an optional DamageTypeClass.

If none of these built-in events types meets your needs, you can derive your own structure fromFDamageEvent and store whatever data you need.


Dealing with damage in Blueprints is similar, except the damage application and responses are already broken out by event type. There are globally-accessible nodes available to inflict damage, such asApplyDamageApplyPointDamage, and ApplyRadialDamage. To respond to damage events, there is a similar suite of “took damage” events for both actor classes and for actor instances within the level.

If you define custom damage events for your project, you will probably want to expose a similar set of functions and delegates for use in Blueprints.

Happy damaging! And for damage-related inquiries and anecdotes, get thee to the forums!

Published: Thursday, 03 July 2014 12:09




My name is Matt Stafford aka Wraiyth, and I'm technical director at a company called Pub Games. Based out of Melbourne, Australia, Pub Games specializes in Unreal Engine development. We released our first game in 2012. Entitled BlastPoints, it's an iOS and Android space shooter. Pub Games has also worked on a variety of other projects as contractors, most notably InFlux and Primal Carnage.

Pub Games is only a small studio, consisting of about six employees and another six regular contractors. We recently received funding to develop Arx, a fantasy action game that plays on the concept of sacrifice and choice.

When I was first asked to write this blog post, I had to give some serious thought to how I was going to approach it. Moving from the Unreal Development Kit (UDK, the free version of UE 3) to UE4 was odd, and there were some vast differences, but the new engine has a strange sense of familiarity, despite significant improvements and changes.

I did a quick run around the office, asking people what they think the biggest improvement over the previous tech is. Everyone seems to have a different opinion, which is a positive reflection on the quality of the improvements Epic has made to all aspects of the engine. But the common thread in every suggestion is that UE4 is giving more power to the non-programmer.  I have compiled a short list to better highlight some of the key changes and improvements. Some of them are fairly major, and some are small but useful improvements that even current Unreal Engine 4 developers may not be aware of.


Probably the most well-published and biggest change is the addition of Blueprint visual scripting. There's a lot to be said about the power and versatility of Blueprint - too much to be covered in a single post.

Blueprint replaces Kismet, prefabs, archetypes and adds more power, all in one. Artists can create simple Actors, add a variety of components and build its behavior - all without input from a programmer. These are reusable and very customizable. There's already a wealth of resources available for Blueprint, with many more in the works. But be aware of its existence and how powerful it is.


One of the nightmares in UE3 is the package system. Split your packages up the wrong way and a small change to a simple asset could mean a big commit to your game's repository. In UE4, that’s all resolved by having assets as individual files, or UAssets. Moving these assets around inside the Content Browser for organization is quite fluid, a simple drag and drop process. Coupled with the editor integration of source control management like Perforce and Subversion, it definitely tidies things up!


Speaking of drag and drop, it's now possible to import groups of assets simply by dragging them from a folder in Windows Explorer straight into the Content Browser.  It might seem like a minor improvement, but it’s one that improves usability and efficiency.


Removal of packages also has the positive side-effect of the removal of "group" object types such as Animation Sets. Each animation is now stored as its own asset file, related back to a skeleton. This makes asset sharing much simpler.

In fact, the entire animation system has had an overhaul. UE4 introduces AnimMontages, which puts control of animation sequences right into the hands of the artist. An artist can use AnimMontage for chaining together complex sequences of animations, event-based animation switching and much more.

The replacement for UE3's AnimTrees is a Blueprint-based system called AnimBlueprint. This enhanced system provides a lot of power to artists, allowing them to build entire animation state machines and transition rules right inside the editor. 


"Which ini file is that in?" is a common question that I heard at work all the time during the UE3 days. Luckily, Epic has heard our cries of pain and brought editing of INI files straight inside the editor for common tasks.

Edit > Project Settings exposes a whole heap of useful gems of functionality. You can set your own general settings, collision channels, keybindings, physical surfaces, and much more. Explore these menus - they might save you a lot of work!


BSP brushes no longer need to be rebuilt when they have been modified. You're free to drag brushes around and manipulate them, and see those changes in real time. This dynamic system extends to things like Navigation, which gets automatically built. If you don't like that feature, or find it destroys your performance, you can also disable it in Project Settings > Navigation System.


If UnrealScript has one strength, it is its state system. It’s a great way to build, well, anything stateful. But with the move to C++, we no longer have native support for state machines. Epic has aimed to address this by building tools that reduce the need for programmatic state machines, including Behavior Trees for AI, and Animation Blueprint States. If you're still one for using programmatic state machines, C++ is a powerful enough language that you can just write your own!

Subscribers can have a look at the Unreal Tournament 4 source code on Github for an example of a C++-based state machine in UE4.


When writing code, you almost always need to reference a variety of art assets - 3D models, particle effects, audio and many other things. Asset Referencing has been vastly improved with the addition of Blueprint, where all of these can simply be added as components inside any given Blueprint.

The natural result of this is that you can end up with a code base with Blueprint references everywhere. Thankfully, there are two systems in place to resolve this: the Asset Registry and Object Library. The Asset Registry allows querying assets that aren't loaded based on things such as tags and path. This enables you to look up assets during gameplay - for instance, if you have a game with player classes, you can store all your player class Blueprints in a folder, look that up at runtime, and populate a user interface with them - all without the need for hardcoded asset references!


One of the biggest gripes many people have with UE3 is the lack of extensibility of both the engine and the editor. This has been significantly improved in UE4 with the addition of plugins, which can be used to add both runtime and editor functionality.

The engine ships with a great collection of examples, the most interesting of which can be found in the "Experimental" directory.  For instance, Paper2D adds 2D sprite-based support to the engine. Maths Expressions adds support for using mathematical expressions in Blueprint.

These are still in heavy development but they highlight the power of the plugin system - everything from the addition of new Blueprint nodes to full editors and in-editor visualizations, and probably things we haven't thought of yet!


This list barely scratches the surface of UE4’s feature set, but hopefully it provides some insight into some of the changes - big and small - that you can expect to encounter when moving from UE3.

Be sure to check out the helpful UE3 to UE4 Transition Guide on the Unreal Engine wiki and please join us for further discussion on this topic in the forums!

Published: Thursday, 03 July 2014 12:09




Unreal Engine 4.2 introduces a number of new features to make character movement more flexible. It’s now even easier to implement features like ‘Hold To Jump Higher’ and Double-Jumping in Blueprints.

This video tutorial starts with the basic Third-Person Blueprint template and builds on it to add new jumping features. The features are directly applicable to other character-based samples as well, so these techniques can transfer directly to the first-person and side-scrolling templates, as well as your own games!

Like what you see? Hop over to the forums and sound off!


Published: Thursday, 03 July 2014 12:09

Welcome to above7skyCreative. 

Register to get access to our contents and information. REGISTER


Welcome to above7skyCreative. 

Register to get access to our contents and information. REGISTER

Leave your comments

terms and condition.
  • No comments found
Powered by Komento