Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon Join the GFS Discord Server!
29. April 2016


TexturePacker is a handy tool I’ve featured several times here on GameFromScratch as well as a video feature as part of the gamedev toolbox series.  It’s one of those handy Swiss army style tools that enables you to pack multiple images into one or more sprite sheets.  Texture Packer 4.2 brings a number of new features to the table:

  • a simplified user interface is available now for new users
  • improved help
  • indexed PNG (PNG-8) (more) available
  • improved sprite sheet animation previewer

Sprite sheet animation previewer

  • support for ETC2, PVRTCII, DXT1/5 formats
  • user interface cleanup
  • several fixes
    • all data formats now use UTF-8
    • EaselJS/CreateJS animation frames now written correctly
    • now case sensitive aware on MacOS
    • better Cocos2d-x support

GameDev News

29. April 2016


It was only a few months back that Amazon launched Lumberyard, their CryEngine powered game engine.  In March they released Lumberyard 1.1 then earlier this week they just released Lumberyard 1.2.  At least out of theZombiesEditor gate they are keep the updates coming at a good pace.


So what exactly is in Lumberyard 1.2?

  • new audio tutorial on integrating Wwise audio in Lumberyard
  • extended mobile support from 1.1.  More iOS and Android devices added included iPhone 6 series, Air2 and iPad Pro, with Note 5 and Nexus 6 added on the Android side )
  • network bindings for components enabling network synchronization
  • improve particle editor including library support, GPU particle rendering, advanced playback controls, a gradient editor and more
  • UI Animation system enabling you to animate certain properties of UI components.

That’s the new features, then comes the rather massive list of changes and features.

• The Asset Processor now stores log files in a logs subfolder (located in the same location as
the Asset Processor executable file). These logs include detailed information that you can use to
diagnose issues in the Asset Processor.
• The Asset Processor now recognizes when copies of the tool are stored in different locations for
different projects on the same machine. If you attempt to run Lumberyard Editor while the
Asset Processor from a different branch or version of Lumberyard is running, you will receive
notification and the option to run the correct Asset Processor or exit the old version. This helps
to prevent connection to and communication with the incorrect Asset Processor.
• To allow you to get started while assets compile in the background, the Asset Processor now
supports priorities assigned to asset types to compile in the configuration file. By default
meshes and animations are preferred over textures.
• A new algorithm is now used to order the Asset Processor’s build queue and dynamically
reorder the queue based on the connected platforms and the assets requested by these
platforms. Unconnected platforms have a lower priority than connected ones.
• The default audio error logging verbosity is now set to Errors & Warnings to increase visibility.
• Added a flow graph node to control Audio components.
• Added a method to stop all sounds to the audio proxy.
• To help reduce confusion about their purpose, removed the Development deployment and
Hello World feature from the default project.
• Deployment stacks are no longer created under the project stack. This change allows you to
create, update, and delete deployments without risking changes to other deployments.
• Added the ability to push unrelated entities with instanced entities to a slice asset.
• The Entity Outliner can now show multiple components of the same type.
• The FBX Importer now automatically converts FBX units to meters. This allows you to use scenes
from different content creation packages because the content is automatically scaled logically
upon import.
• The FBX Importer now reads Up-Axis orientation data. This allows you to use scenes from
different content creation packages because the content is automatically oriented logically
upon import.
• Changed the command that is used to start the Amazon GameLift server from start_lobby
to gamelift_start_server.
• Added support for idle timeout in all modes. Idle timeout is disabled by default. To enable idle
timeout for Amazon GameLift, you can add +sv_idle_seconds 600 to your server’s
command line in the Amazon GameLift dashboard.
• Removed the GridMateGameLift static library and moved all Amazon GameLift code in the
Multiplayer Project to the Amazon GameLift Gem.
• Changed the include paths for Amazon GameLift session header files from
GridMateGameLift/Session/.. to GameLift/Session/...
• The installer now automatically installs the Visual C++ Redistributable Packages for Visual
Studio 2013, if it is not already on your machine.
• To help provide clarity, the installer now clearly states the build version that will be installed.
• To help improve functionality, the installer now reports metrics when certain steps are
• Improved the error messages for configuring an Android project to help diagnose problems.
• Added support for the Android devices Samsung Galaxy Note 5 and Motorola Nexus 6.
• Created a separate download package for iOS developers to help with line ending problems in
JSON files.
• Various updates for iOS include exposing global blending weight and fixing VisArea bugs.
• Improved the Xcode project generation for iOS by using rsync to copy assets.
• Added support for enabling r_VisAreaClipLightsPerPixel in GMEM for iOS.
• Created a Gem for GridMate GameLift integration. This Gem contributes to Lumberyard’s
modular approach, allowing you to more easily customize the engine for your needs. You can
optionally include this Gem in your Lumberyard game project.
• Disabled the Connect and Host flow graph nodes for the Multiplayer Gem.
• Added the ability to search for Amazon GameLift sessions by game instance ID. This enables
you to create a custom matchmaking service with your game hosted by Amazon GameLift.
• Added support to the GridMate API for reusing EC2 instances in Amazon GameLift, which
removes the need to spin up a new instance for every game session.
• Modified replica initialization to take a debug name.
• Updated AzFramework to require GridMate. On Xbox, GridMate requires winsock
(ws2_32.lib) to link in. On Windows, GridMate links in using a pragma in code.
• Removed support for Windows XP and earlier by updating the _WIN32_WINNT version to
0x6000 (Windows Vista), and removing the unnecessary inet_ntop() implementation.
• Modified UpdateFromChunk to call per chunk and not per replica.
PROJECT CONFIGURATOR – Various updates include adding metrics reporting, ensuring the
ProjectConfigurator.log file is saved to the engine root, and updating the project template to
match the latest changes to the Empty Template.
• The Twitch:JoinIn:CreateLink flow graph node now includes an Error port, which is
signaled if the link was not created successfully. The GameName port was removed; the game
name is now copied from the sys_game_name console variable.
• You can now use the joinin_uriScheme console variable to set the URI scheme for the
JoinIn link. The default value is game.
• You can now use the chatPlay_GroupServerList console variable to set the list of group
chat servers and ports.
• In the Samples Project, the UIDemo level was renamed to UIEditor_Sample.
• Removed the UiDemo Gem and added the functionality to the Samples Project.
• Added the UiInitializationBus to help simplify the process of writing custom UI components that
require data initialization after loading a canvas in-game.
• In the File menu, New has been renamed to New Canvas.
• In the component properties, the Selected state has been renamed to Hover.
• In the Properties pane, the Components button has been renamed to Add Component and is
now located at the top of the pane.
• Added the ability to remove components by right-clicking the component.
• Added the flow graph nodes Ui:Element:SetIsEnabled and
• Added the image types Stretched to Fit and Stretched to Fill to the Image component. These
image types maintain the aspect ratio of the texture when the element is a different aspect
• You can now show the anchor preset in use by using the icon to the right of the anchor values
in the Anchor properties.
• Renamed the following parts of EBus for clarity:
o EBusEventGroupContainerTypes renamed to EBusHandlerPolicy
o EBBCT_SINGLE renamed to EBusHandlerPolicy::Single
o EBBCT_MULTI renamed to EBusHandlerPolicy::Multiple
o EBBCT_MULTI_ORD renamed to EBusHandlerPolicy::MultipleAndOrdered
o EBusContainerTypes renamed to EBusAddressPolicy
o EBCT_SINGLE renamed to EBusAddressPolicy::Single
o EBCT_ID_UNORDERED renamed to EBusAddressPolicy::ById
o EBCT_ID_ORDERED renamed to EBusAddressPolicy::ByIdAndOrdered
• Updated EBus to declare traits as follows:
static const AZ::EBusAddressPolicy AddressPolicy =
static const AZ::EBusHandlerPolicy HandlerPolicy =
• Various EBus updates include adding script bindings, removing “Listener,” and improved
• Updated the Lumberyard Waf build system (lmbr_waf) QT tool to resemble the Waf QT5
• In Lumberyard Editor, you can now opt out of sending metrics by clicking File, Global
Preferences, Editor Settings, and selecting the opt-out check box.
Lumberyard Beta 1.2 includes the following fixes:
AI – The editor no longer crashes when:
• Attempting to grab an AI human in-game in the GameSDK project. This error occurred for AI
humans that had a nonexistent grab type specified in the entity settings.
• Saving CGF files for certain brush objects.
• Fixed an issue that caused the Asset Processor batch file to hang when attempting to cancel by
pressing Ctrl+C.
• Fixed an issue that prevented Lumberyard Editor from launching if the Asset Processor from a
previous build is running in the background.
• Fixed an issue that caused exported geometry (CGF and i_caf files) from 3D Studio Max to
appear as failed in the Asset Processor.
• Fixed a bug that caused numerous Asset Processor icons to appear in the system tray after
switching projects or closing tasks.
• Fixed an issue that prevented the Asset Processor from identifying changes to
sys_game_folder in the bootstrap.cfg file.
AUDIO – Fixed an issue with undoing operations that caused the Audio Controls Editor to crash.
• Fixed an issue that prevented movies or frames in Lumberyard from rendering to the paths with
spaces specified in the Render Output dialog box in Track View.
• Fixed an issue that caused incorrect sequence ranges to save when toggling between the
Seconds and Frames time units in the Sequence Properties dialog box in Track View.
• Fixed an issue that caused the editor to crash when using sequence names over 1,000
characters long.
• Fixed a bug that caused stackStatusListModel to erroneously use columnCount()
rather than the enum ColumnCount when filling out a row.
• Fixed an issue with the mobile analytics client using the default retry strategy that caused long
pauses when a network connection is not present.
• Fixed an issue that caused lmbr_aws to crash if the Metrics DLL does not exist.
• Added validation for key name, bucket name, and file name in the S3 Download and Upload
• The Forgot your password link in the Login to Amazon Lumberyard dialog box now displays the
password assistance page as expected.
• Various fixes include removing a dangling GridMate GameLift reference from the multiplayer
Gem and removing an unnecessary dependency on IAM within Client Manager.
• Fixed an issue with importing FBX files that do not have a scene settings file that caused the
Asset Processor to erroneously report a failure.
• Fixed an issue that prevented the entry of characters that would have resulted in a duplicate
group name.
• Fixed an issue that caused the Scale property to allow both 0 and negative values when
importing assets.
• Extended the iterators in the Scene API with unit tests.
• Fixed floating point precision issues that caused the flow graph node Math:Equal to become
unreliable when reporting equality between numerical values.
• Fixed an issue that caused the flow graph node Math:EvenOrOdd to reverse even and odd
numbers for the node outputs.
• Fixed an issue that caused flow graphs, game tokens, track view sequences, and objects to
delete when right-clicking the viewport while a level loads.
• Fixed an issue that caused the editor to crash when attempting to add comments to a new flow
graph by using shortcuts (for example, Right Alt+F, Right Alt+E, Right Alt+V, Right Alt+O, or
Right Alt+D).
• Fixed an issue that prevented an automatic refresh when a flow graph component is added to
an entity.
• Fixed an issue that caused the audio component to stop all triggers from executing on the
owned proxy upon deactivation.
• Fixed an issue that prevented the component flow graphs from uninitializing properly.
• Fixed an issue that caused unusual behavior when selecting Change Group Name from the
Global Flow Graphs menu.
• Fixed a crash issue when shutting down the Gem Registry.
• Fixed a shutdown crash issue in the Game Effect and Lightning Arc Gems.
• Fixed an issue with deploying Monolithic builds for game projects that include Gems.
• Fixed an issue with building tests for a new Gem that resulted in a failure and Uber file error.
• Fixed an issue with release configuration failing on launch, resulting in a “Failed to load Gems
project” error message.
• Fixed an issue that prevented the animations list in Geppetto to remain in sync and display
• Fixed an issue that erroneously allowed invalid values (0 and negative numbers) for the scale
when importing an FBX.
• The editor no longer crashes when importing a new i_caf file with blendshapes.
• The character tree list no longer displays deprecated CGA files.
• The skeleton file type list no longer displays unsupported formats, such as SKEL and CGA.
• The Resource Compiler no longer crashes due to the System Allocator from the Resource
Compiler Scene and Scene API.
• Fixed an issue that caused level slice to persist slice references across editor level sessions.
• Fixed an issue that prevented scripts from successfully reloading in the editor for entity objects.
• Fixed an issue that prevented the Camera Sample level’s dynamic fly-by camera angle from
functioning correctly when the Cycle balloon cameras button is pressed.
• Fixed various stability issues with loading meshes.
• Fixed an issue that caused the animation component to send multiple OnAnimationStopped
• Fixed an issue with live-lock during loading if a level includes a certain number of mesh assets.
• Fixed an issue that prevented the Component Palette window from unregistering from the
plugin and closing properly.
• Fixed an issue with invalid bound on an object when instantiating component entities from a
slice, resulting in the object being off at the origin and breaking selection in the editor.
• Fixed an issue that prevented values to be set when rotating a designer object on the Y axis to
90 or -90 and beyond.
• Fixed an issue that prevented the use of spaces in the Lumberyard installation path.
• The editor no longer crashes when:
o Selecting a mesh file in PreviewModelCtrl.
o Attempting to push entity changes to a slice.
o Reloading slices and the flow graph wrapper accesses deleted objects.
o Using proximity triggers that activated only once in profile.
o Dragging an asset from the file browser into the viewport when a level is not loaded.
o Cloning a game token.
o Modifying the level library before loading a level.
• Fixed an issue that prevented the Transition editor from saving changes to procedural clips.
• Fixed an issue that prevented the Mannequin Sequence file from saving properly.
• Maya 2015 no longer crashes when using the User Defined Properties (UDP) tool.
• The editor no longer crashes when setting up an AnimObject that uses a character and
animation exported from 3D Studio Max.
• Fixed an issue that misaligned the skin and bones after exporting from 3D Studio Max and
assembling in Geppetto.
• Fixed an issue that caused textures compressed by the Resource Compiler with
colorspace=*,[auto|sRGB] to crash when loaded on iOS.
• Fixed an issue that prevented skinned character shadows from working correctly in the GMEM
render path.
• Fixed a buffer overflow vulnerability in CarrierThread::ProcessIncomingDatagram
when receiving incoming datagrams.
• Fixed a buffer overflow vulnerability in CarrierThread::ReadAckData() when receiving
malformed system ack messages, preventing a denial of service.
• Fixed a crash in the object stream when skipping unreflected root node in binary mode.
• Fixed a bug that prevented game code from receiving the SignIn system event.
• Fixed a bug that prevented RPCs from being called for proxies when multiple chunks were
bound to a replica.
• Fixed a bug for processing unknown chunk types.
• Fixed an issue that caused existing players to disconnect and the server to crash if the number
of players attempting to connect exceeded the maximum number of players allowed, as
specified by the sv_maxplayers value.
• Fixed an issue that prevented the Gradient Editor from preserving set values.
• Fixed an issue that caused the delete confirmation dialog box to display twice when attempting
to delete a particle or folder.
• Fixed an issue that prevented a modified color value from saving to the XML file.
• The editor no longer crashes:
o After editing a particle from an imported library and closing the Particle Editor by
clicking Cancel in the warning message dialog box.
o After creating a library and closing the Particle Editor without saving the library.
o When attempting to hide the Attribute panel in the Particle Editor.
• Fixed an issue in the particle library version 27 that prevented particles from loading correctly.
• Fixed an issue that prevented “forward” planar decals from rendering properly in certain
• Fixed an issue that caused materials cloned with a .ddna file to bind an incorrect
smoothness/gloss texture.
• Fixed an issue that caused the sun position and lighting to move when opening the Sun
Trajectory pane.
• The particle orientation now loads correctly in a level.
• The environment probe preview option now renders correctly.
• The editor no longer crashes in debug when configuring the layout to use multiple viewports.
• Added support for MIN_MAG_MIP_LINEAR as a shader token, which resolves asserts in debug.
PROJECT CONFIGURATOR – A warning message about running lmbr_waf configure after creating
a project now persists within a single session of the Project Configurator. Previously the warning
message would disappear after the first time a new project was created.
• Fixed an issue that caused a ‘texture file missing’ warning message to display when opening the
Animation_Basic_Sample level.
• Fixed an issue that caused the Animation_Basic_Sample level to crash when using the
SamplesProjectLauncher.exe standalone launcher.
• Changed the default SDK requirements for running a game. If you want to compile game code
only, you can now run a Waf configuration step. The Codejock Xtreme Toolkit Pro, which is
included with Lumberyard, is now marked as required.
• Various fixes include updates to text, icons, and page functionality.
• Fixed the pop-up position of the Sprite Border Editor and the Anchor Presets widget.
• Fixed various issues with running a game in the editor and loading a canvas in a game that is
already loaded in the UI Editor. For example, loading a canvas in-game when it is loaded in the
editor will result in a copy of the canvas that is used by the game.
• Fixed a bug in the UITextInput component that prevented selecting a text range backwards
from functioning correctly.
• Fixed an issue with sliced images where the image rectangle is thinner than the sprite borders,
resulting in the borders overlapping.
• Fixed a bug that caused changes to save when clicking Cancel in the Sprite Border Editor.
• Fixed a bug that caused the browser to save when clicking Cancel in the Changes have been
made dialog box.
• Fixed an issue that caused the UI Editor to become unresponsive when 20+ canvas files are
open in the editor.
• Reinstated the Font Effect property in the Text component property pane.
• The image texture browser now properly supports the file formats listed in the browser: .bmp,
.dds, .gif, .jpeg, .png, .tga, and .tif.
• Fixed an issue that prevented AZStd::conditional_variable.wait(…) from halting a thread.
• Fixed an issue that prevented the AZ::Entity cached shadow from updating.
• Fixed an issue that caused AZ::Entities to vanish when moved from the initial position.
• Fixed an issue with selecting more than eight entities by adding entries to the dynamic pop-up
menu allocation.
• Fixed an issue that caused the Resource Compiler to connect to Perforce during asset
processing, even though the Perforce plugin is disabled in the editor.
• Fixed an issue with saving changes in the Audio Controls Editor that caused the Perforce
connection to break and display an error message.
• Various fixes to the CodeGenPreview solution include updates to AZCore/AZCoreTests
and support for proper include paths for rapidxml


The complete and massive release notes are available in this PDF.  Let’s hope Amazon keeps improving Lumberyard at this rate in the future, we might have a real fight on our hands!

GameDev News

28. April 2016


Wave Engine, a game engine I covered here, just announced their 2016 developer contestimage with a $30,000 dollar prize pool, including $15,000 USD available to the first prize winner.  The contest is sponsored by Plain Concepts and has a deadline that your game must be published to the Windows store by October 31st, 2016. They recommend that you make your submission by September 1st however.  Other than needing to be 18, the requirement to publish to the Windows UWP store is certainly the biggest one.  You are free to publish to other app stores and you are free to publish multiple titles for consideration.


Details on the actual contest are rather scarce.  There is no set theme or requirement, simply make and publish a Windows 10 UWP game using Wave Engine.  You can read the contest announcement here or watch the video below.


GameDev News

28. April 2016


Another Unity patch has been released.  Other than an update in the Oculus Rift SDK and removal of the requirement for the OVRPlugin, this release is composed entirely of fixes.


  • VR: Updated Oculus API and plugin to version 1.3.2. Downloading 1.3.2 OVRPlugin from Oculus is no longer necessary.
  • (703290, 786195) - Batch mode: Fixed an issue where BuildPlayer calls might cause compilation errors to be logged in subsequent runs.
  • (788555) - D3D11: Fixed exclusive mode window reactivation issues after focus has been lost.
  • (none) - D3D11: Fixed some rare crashes on memory constrained systems (log would contain resource creation failure messages).
  • (775898) - Editor: Now show alert pop over for invalid serial format.
  • (779129) - Graphics: Fixed TrailRenderer showing a gap between current position and the last update.
  • (789905) - IL2CPP: Emit proper C++ code for COM marshaling of methods that have at least one parameter that cannot be marshaled.
  • (786499) - IL2CPP: Generate proper C++ code for the OnSerialize method injected by UNET in classes deriving from NetworkProximityChecker.
  • (787687) - IL2CPP: Generated proper C++ code for assemblies compiled with Visual Studio when a method returning an IntPtr returns an integer value.
  • (785036) - iOS/tvOS: Fixed a regression which caused artefacts when using GLES2 Graphics API.
  • (780329) - iOS: Fixed UnityWebRequest hanging on responses > 64k when using a custom DownloadHandlerScript.
  • (783527) - MemoryProfiler: Added toggle to exclude references in detailed memory dump to reduce memory footprint used.
  • (783433) - Particles: Fixed a crash when using Inherit Velocity Module curves.
  • (766891) - Physics: Provide feedback to allow working around crashes occurring when input meshes contains invalid vertices.
  • (none) - Samsung TV: Enabled a "Show Unity Splash Screen" check box on Samsung TV's PlayerSettings.
  • (776446) - tvOS: Enabled game controller in tvOS on-screen keyboard.
  • (none) - tvOS: Fixed a crash when calling OnDemandResourcesRequest.Dispose() in a coroutine.
  • (749311) - tvOS: Separated tvOS SDK and OS version settings from iOS.
  • (768807) - UI: Fix for child UI elements not being rendered when scaling World Space Canvas from zero.
  • (751798) - UnityWebRequest: Downgrade to HTTP GET on 302 and 303 redirect codes
  • (751794) - UnityWebRequest: Honor negative redirectLimit.
  • (none) - Windows Store: Fixed an exception while marshalling UnityEngine.NavMeshTriangulation.
  • (none) - Windows Store: Fixed marshaling of UnityEngine.HumanDescription, previously the field hasTranslationDoF was not mashaled at all.
  • (786889) - Windows Store: Fixed marshaling of UnityEngine.SplatPrototype, previously fields specularMetallic, smoothness were not marshaled, because of this sometimes terrain would be rendered incorrectly.
  • (none) - Windows Store: Fixed www.error return result, previously it would return only an error code, now it will also contain error message returned by the server.
  • (760215) - Windows: Fixed standalone Windows player position when bigger than primary monitor.

The patch can be downloaded here.

GameDev News

27. April 2016


Epic have released another Unreal Engine preview, this time 4.12 preview 2.  Unlike hotfixes, these releases introduce new features and are expected to be quite buggy, so buyer beware!  The biggest feature of this release is the Sequencer, which is an NLE (non-linear editor) enabling you to create in-game cinematics.  Of course, that’s just the tip of the iceberg in this release.  The Unreal Engine updates at a pretty staggering rate over all.  Other new features in Unreal Engine 4.12 Preview 2 include:

  • Editor/Tools Updates:
    • Sequencer is now a supported feature that combines the power of a non­linear editor with 3d animation editing to allow you to produce in-­game cinematics as well as a sequence of shots for film, tv, and previsualization. It’s also designed so that multiple artists can work on a shot together or across multiple shots.
      • Rearrange shots like a traditional non­linear editing package
      • Create alternate takes of a shot and rollback with ease
      • Make per shot tweaks and spawn shot specific actors
      • Designed for collaboration
      • Automatic track creation based on actor type
      • Standardized keyboard shortcuts
      • Auto­keyframing
      • Embedded track and key editing/creation widgets
      • User­definable track coloring
      • Keyframe shapes and colors defined by interpolation behavior
      • Folders and labels for organization
    • Cinematic Camera Actors coupled with new Camera Rig Actors provide filmmakers as well as novices with the ability to create realistic camera shots with ease.
      • Customizable lenses and filmback settings
      • Focal length
      • Look at tracking
    • Cinematic Viewport is new, streamlined and allows you to view a sequence of shots for dailies in filmmaking.
      • Embedded timeline and transport controls
      • Frame numbers indicating shot in and out cut points
      • Overlays and framing helpers for composition
    • Sequence Recording allows you to record gameplay and immediately place the recorded elements into your shot. You can even make a recording while playing back a previous recording.
      • Record gameplay into skeletal animation, transform, event, and audio tracks
      • Automatic track generation for re­editing the recording
    • Audio Localization (Preview) - 4.12 improves our built-­in support for audio localization (via dialogue wave and dialogue voice assets) to the point where you’re now encouraged to try and it out and provide feedback.
      • Spoken text is now gathered from dialogue wave assets and included in your PO files for translation along with your other asset based text.
      • Several new commandlets have been added to facilitate the recording and importing of audio for your dialogue wave assets (these are also integrated into the Localization Dashboard).
        • ExportDialogueScript ­- Exports a per­culture CSV file containing each line of dialogue and its associated filename.
        • ImportDialogueScript -­ Imports a copy­edited per­culture CSV file and updates any translations with the recorded dialogue.
        • ImportLocalizedDialogue -­ Imports per­culture recorded WAV files and generates localized dialogue and sound wave assets.
    • Unreal Editor in VR (Preview)
  • Platform Updates:
    • Xbox One
      • Async compute is now supported. This allows the GPU to use spare resources during drawing to do other work, resulting in faster overall frame times on GPU. This is currently used by the reflection environment and SSAO passes with more coming in future.
      • DX11.x Fast Semantics is now turned on by default which saves CPU time. DX11.x Legacy is now deprecated. We anticipate moving to DX12.x by default in a future release and removing DX11.x entirely.
    • PS4
      • Support for SDK 3.508.031
  • VR Updates:
    • Improved Stereo Layers Support - Layer support now works on all platforms, and has been improved to be more user friendly
    • VR Loading Movies - You can now have framerate-­independent loading movie support.
    • OSVR Support UE4 will now ship with OSVR support out of the box. For more information, visit
  • Framework Updates:
    • Added ability to use lower LODs for StaticMesh collison
    • Default collision from static mesh asset
    • Animation Node: Twist Corrective can apply a MorphTarget curve value when a twist is overdone
    • Dynamic SoundClass adjustment overrides in sound mixes
    • AnimComposite can be used in AnimMontage or AnimComposite. With this change, now AnimSequenceBase (previously only AnimSequence) is supported through montages or composite. If you’d like to create your own AnimSequenceBase, it should be easier to support with this.
  • Rendering Updates:
    • High Quality Reflections
      • High Precision Static Mesh Vertex Normal/Tangent Encoding
      • Custom Resolutions for Sky Cubemaps and Reflection Probes
      • Custom Cubemaps for Reflection Probes
      • High Precision GBuffer Normal Encoding
  • Blueprints Updates:
    • Cooking Blueprints into C++ (Experimental Beta) allows you to package Blueprints into native source code.
      • Enabled in editor, through your project’s Packaging Settings: Experimental => Nativize Blueprint Assets. Can also be invoked by passing -NativizeAssets as a param to the UAT BuildCookRun script
      • Generated source is saved as a plugin in your project’s intermediate folder, under: …\Intermediate\<PLATFORM>\NativizedAssets\
      • Can exclude certain Blueprints from the process in your game’s DefaultEditor.ini file (under [BlueprintNativizationSettings]). General “types” of Blueprints can be excluded: +ExcludedBlueprintTypes=/Script/UMGEditor.WidgetBlueprint. Specific assets can also be excluded: +ExcludedAssets=/Game/Blueprints/MyBlueprint
    • Mask Field Variables - Integer properties can now be declared as being a bitmask, and optionally associated with an enum which encapsulates bitflag values.
  • Mobile Updates:
    • Vulkan Mobile Renderer (Experimental) as shown in the ProtoStar demo shown at the Samsung Galaxy S7 Unpacked event in Barcelona
    • High Quality Mobile Post Processing
      • Improved Depth of Field quality
      • Filmic Tonemapper
    • More Shadowing Options for Mobile
      • CSM shadows for dynamic objects blended with precomputed Lightmass shadows
      • Planar reflections
    • GPU Particles on High-end Android and iOS devices
      • Apple devices with A8+
      • Android 6.0 with Adreno 4xx and Mali-T7xx (Galaxy Note 4, Note 5, S6, S7, Nexus 6P and others)
    • Web Browser UMG Widget on iOS
  • Mobile Landscape & Foliage Updates:
    • Grass and Foliage Scalability
      • Ability to reduce grass and foliage density based on quality levels
    • New Scaling and Alignment Options for Landscape Grass
    • Landscape Collision Improvements
      • Simplified Player Collision for Landscape
      • Collision support for spline meshes created at runtime (GitHub contribution)

As always, you can download the new preview release using the Epic Game Launcher.

GameDev News

See More Tutorials on!

Month List