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 the 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.
CLOUD CANVAS RESOURCE MANAGEMENT
• 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.
COMPONENT ENTITY SYSTEM
• 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
• 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
• Changed the command that is used to start the Amazon GameLift server from start_lobby
• 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
• 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
• 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
• 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
• Fixed an issue that caused the Scale property to allow both 0 and negative values when
• 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
• Fixed an issue that prevented an automatic refresh when a flow graph component is added to
• 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.
3DS MAX EXPORTER
• 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
• 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
• Fixed an issue that caused the sun position and lighting to move when opening the Sun
• 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
• 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
• 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!