Release Notes

Improvements and Changes

Updates to Lumberyard systems and functionality include:

Az Code Generator

  • Integrated WAF to allow build system control of annotation parsing, template rendering, and source code injection back into the build process.

  • Introduced Render Templates, which are a set of Python scripts and Jinja2 templates for generating source code via Az Code Generator.

  • Created new Render Templates for Az Modules using AzCore mechanisms, such as AZ_COMPONENT, Reflect for Serialize, and Reflect for Edit, which allow users to optionally replace the boilerplate code around these mechanisms with easier to understand annotations next to the associated code.

  • Added support for user-generated Render Templates, which can be specified for use via the WAF integration.

Character and Animation

  • Mannequin flow graph nodes are now updated to work with the Mannequin component. The Mannequin flow graph tutorial (located in the \dev\SamplesProject\Levels\Component_Tests\Mannequin_FlowGraph directory) demonstrates possible uses of the Mannequin component functionality.

  • In the FBX Settings, clarified the meaning of 32-bit vertex data and updated the tool tip.

Cloud Canvas

  • Added support for OS X game clients so that Mac customers can now use Cloud Canvas functionality.

  • Improved the authentication process when launching the Don't Die project. Login and configurable data updates are now processed correctly on first launch.


  • Primitive collider components were removed and replaced by shape-plus-collider component combinations. Existing primitive collider components will be replaced by an appropriate shape component that has been configured. In order to use collision capabilities, you must manually add a primitive collider component.

  • Trigger area components no longer specify a box shape for triggering; instead, a shape on the entity is used as the trigger volume. The trigger area components now allow you to use any shape component as bounds for triggering. Previously only boxes could be used. You will need to manually old trigger areas to the new ones.

  • The mesh component is now separated into two components – static mesh component and skinned mesh component.

  • The physics component is now separated into two components – physics component and character physics component.


  • Updated sample level demonstrating animating and driving a physical character using controller input and Lua scripting. The sample Lua-based state machine (located in the \Components\Controllable_Chicken demo level) leverages the Mannequin component, Character Physics component, and Skinned Mesh component.

  • Added new sample level demonstrating basic animation using flow graph and the Mannequin component. This level (located in the Component_Tests/Mannequin_FlowGraph demo level) leverages the Mannequin component and the Skinned Mesh Component.


  • Version numbers and the public API on all Lumberyard gems were updated and converted to AZ Modules, allowing better integration with the new Component Entity system. We recommend that custom-built gems be converted to AZ Modules. For instructions on this procedure, see Migrating Lumberyard Projects.

  • If gems.json is manually edited, users must run Bin64\lmbr.exe projects populate-appdescriptors to update the application descriptor files. For more information, see Migrating Lumberyard Projects.

Lumberyard Editor

  • The Light Skin option is no longer available in the editor.

  • The editor no longer supports loading a view pane with a floating editor (for example, UI Editor, Particle Editor, Flow Graph, etc.).

  • Selection is now preserved when entering and exiting game mode in the editor.

  • Camera orientation is now preserved when entering and exiting game mode in the editor.

  • Performance has been improved for undo/redo operations on large numbers of component entities in the editor.

  • Property grid indentation logic has been improved.

  • You can now use Ctrl+click on parent elements in the property grid to expand or contract all children.

  • When placed in the editor, slices with multiple root entities can no longer inherit one of the contained entity's rotation.


  • Android:

    • Android Studio builds are now signed with the same certification as Waf builds. This allows you to deploy Android games to the Google Play Store.

    • The Waf build system now generates the SDL library. This adds the ability to debug low level library functions.

  • iOS: SDL is no longer a dependency, making it easier to obtain pointers to the view and application controller.


  • Added the console variable cl_clientPort that clients can use as a binding port. Modified JoinSession() to use cl_clientPort and default to the ephemeral port.

  • Added a mechanism to defer updates from replica callbacks.

  • Removed the UnionDataSet feature.

  • Removed the GetUniqueName() function, which is no longer used by EBus.

  • Removed the unused member variables clientPort and serverPort from SGameStartParams.

Particle Editor

  • Added the ability to drag emitters between libraries and other emitters.

UI Editor

  • A new set of flow graph nodes was created to help make it easier to use Flow Graph with the UI system. These nodes use an entity in the level to store the UI canvas path and avoid the need to pass the canvas ID from node to node. These nodes also use UI element names instead of UI element IDs, which makes it easier to identify the referenced flow graph nodes. The new nodes are located in the Flow Graph section called UIe. The old nodes are still included for backwards compatibility.

  • The zoom factor is now displayed in the UI Editor toolbar.

Virtual Reality

  • Added new Open Source Virtual Reality (OSVR) Gem.

  • Added support for automatic resolution detection of attached head-mounted display (HMD).

  • Upgraded the Oculus Gem to use the Oculus SDK version 1.5.

  • Converted the VR gems into AZ modules.

  • Shadow maps are now shared between the left and right eye to avoid rendering shadows again.


  • Various changes to the Lumberyard Setup Assistant include updating the version number, adding tool tips, and improving labels.

  • Performance improvements to the Asset Processor include evaluation and startup time, and an indication of how much work is required upon startup in the editor.

  • Improved the speed at which the Asset Catalog saves, leading to faster turnaround times for hot reloading.

  • Replaced the legacy CrySock with AzSock, which is a new socket layer that replaces the need to use CrySystem.

  • The test hook IMPLEMENT_AZ_TEST_SCANNER_HOOK is now available as two separate hooks. AZ_UNIT_TEST_HOOK is used to run unit tests and AZ_INTEG_TEST_HOOK is used to run integration tests. Existing modules and gems now use these hooks. You must update your custom modules and gems to use these hooks.