Lumberyard Release Notes – Beta 1.25 (July 2020) - Lumberyard Release Notes

Lumberyard Release Notes – Beta 1.25 (July 2020)

Let’s kick off the start of summer with the release of Lumberyard 1.25! It may not be sparkling white beaches and the gentle murmur of palm trees swaying in a soft coastal breeze, but it’s fresh and new and packed with some great features – such as a new user interface, GPU-enabled NVIDIA Cloth support, a new White Box Tool to help you play with the fundamentals of your levels, and Script Canvas Functions – as well as over 120 bug fixes. And while it may not soothe your weary game developer’s soul like the cool waters of a beachfront pool and a tropical beverage, it’ll hopefully boost your productivity and keep you moving forward with your game projects. And if it doesn’t? Well, you know where to find us!

(Oh, and there’s a new version of Starter Game waiting for you, now with minty-fresh PhysX support, improved assets, and full Script Canvas integration. Enjoy!)

As we continue to improve Lumberyard, we want to thank everyone in our community whose suggestions help us make a better product every release. Since the initial launch, we’ve overhauled over 70% of the original code base, and we’re working like crazy to make Lumberyard the best dang game engine out there.

Keep sending feedback to our forums and to lumberyard-feedback@amazon.com! For the latest Lumberyard updates, follow us on Twitter, Facebook, and our blog.

Looking to get v1.25 of Amazon Lumberyard, or interested in giving it a spin? Download it here.

New to Lumberyard? Watch Learn Lumberyard in 20 Minutes. (And maybe subscribe to our official Lumberyard YouTube channel, too!)

Already a user? Share your feedback in the Amazon Lumberyard forums.


            starter game 2 0 1

Highlights

Here’s a sampling of the new features and improvements found in Lumberyard Beta 1.25. (Too many words? Get the best bits streamed to you with our Lumberyard Beta 1.25 Spotlight video!)

Community Contributions

So, what’s the community been up to? One new contribution we’d like to share with you is the ScriptEvent Lua Transpiler from GitHub user lumbermixalot.

ScriptEvent_Transpiler simplifies the creation of ScriptEvent Lua files with Lumberyard by providing a simpler model for expressing Script Event EBuses in Lua scripts. Authoring the definitions for Script Events can become a bit of a chore if you have a lot of them to do, so lumbermixalot created a simplified Script Event file format that can be transpiled to reliably generate the necessary definition in your Lua scripts. Nice!

Get the ScriptEvent Lua Transpiler on GitHub and check out the README for more details. Thank you, lumbermixalot!

Installation Notes

Important

If you are using Visual Studio 2017, we recommend installing the Visual Studio C++ Redistributables for Visual Studio 2012 and Visual Studio 2019 before installing Lumberyard. See Amazon Lumberyard system requirements in the Welcome Guide for installation information.

  • Additionally, if you are using Visual Studio 2017, use the Visual Studio 2019 version of Project Configurator (\dev\Bin64vc142\ProjectConfigurator.exe) to create and switch projects.

Lumberyard UI 2.0

We’ve been excited about this for awhile, and now, for Lumberyard 1.25, we’re proud to give you our new user interface, UI 2.0! We’ve redesigned and rebuilt the Lumberyard UI using Qt and modern UI principles to make the Lumberyard editors more usable, more consistent, and more extensible. Pretty cool, huh? It even supports 4K (and other high-DPI) displays now, as well as multi-monitor setups. Productivity +1!

Are you an existing Lumberyard user and want to start using it? Just launch the Lumberyard Editor, look to the upper-right of the Welcome menu, and click the toggle to enable UI 2.0. Otherwise, if this is your first time installing Lumberyard, UI 2.0 is enabled by default.


                  ui 20 toggle

The new UI experience is cleaner and more consistent, and we hope you like it as much as we do. Let us know what you think of it in our forums!


                  ui20 comparison

We followed 4 tenets during UI 2.0 development.

  • Familiarity: Our design system and user interface are built with consistency and familiarity to reduce the learning curve and increase ease of use.

  • Accessibility: We aim to optimize the accessibility of the editor tooling and comply with the Americans with Disabilities Act (ADA) and other accessibility requirements.

  • Modularity: Each of the UI components is reusable and guided by clear interaction guidelines, style, and full-featured code snippets. Game developers can easily use these components to assemble and build any number of workflows or features in Lumberyard. Full documentation will be along shortly after release.

  • Efficiency: We know content creators value creativity and productivity. We aspire to optimize every workflow and reduce every click to free the content creators' mind so they can fully immerse in their creative flow.

With UI 2.0, we have laid the foundation for a single, consistent UI library applied across the main editor and every sub-tool and extension within Lumberyard. The new UI is more than a uniform aesthetic; it’s a cohesive set of components and rules grounded in industry-standard interaction patterns to ease on-boarding, improve editor efficiency, and support the development of custom tools and interface extensions. Likewise, we are launching the core component library and a component gallery tool that allows developers to review the available interface widgets, along with code snippets demonstrating how to use them in your projects.

To learn more, read Lumberyard UI 2.0 Developer Documentation. (This documentation will be expanded soon, so keep checking this link!)


                  new editor ui20

This new experience will become the default Lumberyard UI for everyone—​existing users and newcomers alike—​in a coming release.

White Box Tool Gem (Experimental; Windows 10 PC only at this time)

Ever just feel like playing with Lumberyard? Want to quickly create, instantiate, and manipulate random entities to test different layouts and scenarios quickly and organically? With the new (experimental) White Box Tool Gem, you can do just that! This new Gem provides a simple mesh creation interface that you can quickly access to try out different asset layouts and physics experiments, minus the headache of importing assets you might never ship. Need a crate? A house? A fence or a signpost? A ball pit? Maybe even a car (if you’ve got the skills and the patience)? Build these entities straight from the Lumberyard Editor and populate your world, then start the game and see how everything feels to you. (Small print: Simple materials support only at this time. No refunds.)

Make a box.


                  white box draw

Give it some friends. Color 'em up proper.


                  white box coloring

What’s this? The box is evolving!


                  white box extrude scale

Test some kinematics. Give your box a purpose. You are the Box Boss now.


                  white box kinematics

And try out different physics-based scenarios for your game!


                  white box physics

With the White Box Tool, you can draft simple objects as you like and place them in your level, and apply physical properties to them. If you like them, you can export them as objects and save them as assets!

Want to jump in and play with the White Box Tool? Get started with our documentation here.

Script Canvas

Script Canvas Functions are here! Script Canvas now offers reusable graphs, called functions. Graph functions that you create become available for use as nodes in other graphs.

For example, let’s say you want to use your own linear interpolation function in several of your graphs. Now, instead of copying and pasting all the required nodes from one graph to another, simply create and name a new Script Canvas function, define your variables, and add entry and exit points.


                  script canvas functions lerp

You now have a reusable function node with the required input and output variables, ready to be used in any Script Canvas graph. Build a library of custom Script Functions for your game, and increase your efficiency!


                  script canvas functions lerp final

Read more about Script Canvas Functions in the Lumberyard documentation.

We also fixed over 90 bugs in Script Canvas! New features are sweet, but stability and productivity is sweeter still. Check out the full list of fixes in the Amazon Lumberyard 1.25 Bug Fixes for Script Canvas release note.

GPU Support for NVIDIA Cloth Gem

The NVIDIA Cloth Gem now has support for NVIDIA CUDA on PC! With CUDA enabled for cloth components, all the simulation numbers will be crunched on the GPU (instead of the CPU). By using the floating-point computational power of a PC’s GPU, you now have the power to run more complex and larger numbers of cloth instances, with better performance. This also frees up CPU resources for other game-related computations, like AI and other complex logic.


                  nvidia physx cuda

More info can be found here: Run cloth simulation on the GPU with NVIDIA CUDA

JSON Serialization

Release 1.25 adds a new way to serialize source asset information that uses a simpler and cleaner JSON format in order to fit better into artists' and designers' workflows.

The new JSON Serialization is a near drop-in replacement for ObjectStream that makes source asset files easier to read, edit, create and merge. It does this by focusing on the most relevant information and clear error reporting.

Here are some highlights of the new model and format:

  • Default values don’t need to be saved so the focus can be on the most important values and producing smaller files.

  • Type information doesn’t need to be included unless absolutely necessary — and when you do need to include that info, types can be called by name most of the time. For example, this means there’s rarely a need to look up a type ID in code.

  • The JSON Serialization process will do its best to interpret data before reporting an error. Typing "1" or 1.0 for an integer value will load without a problem, and any additional syntax is safely ignored.

  • If the serializer encounters an issue, it is reported with a path so you can easily find where the problem is in the source file.

  • Several types have multiple overloads. For example, for a Vector3 you can use [0.0, 0.5, 0.0] or `{"y": 0.5} and get the same result. The simple extension model allows engineers to add their own type overloads to make their types equally flexible or add custom behavior.

  • Containers are always sorted even if the underlying type is unordered — AZStd::unordered_map, as an example — which makes for a better merge experience.

  • JSON Patch and JSON Merge Patch support has been added for merging and creating patches.

For more details on how to use the new Json Serialization model, read the documentation here.

Landscape Canvas (Preview)

Our Dynamic Vegetation system was released in Lumberyard 1.19 (see the docs) and while we got a lot of feedback about how powerful it is, we also figured we could really improve it, especially when managing larger levels at scale.

Well, we listened to your feedback! Now, in 1.25 we introduce the preview for Landscape Canvas — a node-based landscape authoring tool for working with Dynamic Vegetation in your levels. Draw your landscapes and outdoor scenes with ease!


                  landscape canvas demo

Any content you have already authored for Dynamic Vegetation is backwards compatible; Landscape Canvas (preview) can automatically parse and build a graph for you from your existing levels. Landscape Canvas is built upon the same graphical node library (Graph Canvas) that Script Canvas uses, so it has the same look and feel.

Want to dive in? Read the docs for Landscape Canvas.

Animation Editor (EMotionFX)

For our tech artist and content creation friends, we’ve added a couple of new features to EMFX to help you more easily preview your animation work and improve performance in your scenes.

  • Users can now preview animations assigned to Motion Nodes. When you select a Motion Node in the Anim Graph, you can right-click it and select the animations you want to preview.


                  emfx preview motion

                  emfx anim preview node
  • We’ve added an option to force updates to joints when an Actor is not visible to the in-game camera, such as when the Actor moves behind a surface or is out of the player’s field-of-view. By leaving the option unchecked, you can improve performance; by checking it, you can ensure that the Actor’s animation state will be consistent when the Actor moves back into view. The latter behavior was the default for earlier versions of Lumberyard.


                  emfx out of view
  • We also added an option to change per LOD animation sample rate. When enabled, the Actor’s animation sample rate can be lowered (based on the LOD level) for a performance boost. This means that any Actor that has this enabled for it will animate less smoothly in the distance, but in return, you will pick up improved frame rates. Use it wisely!


                  emfx lod sample rate

The Animation Editor picks up some improvements with the change to UI 2.0, as well, including:

  • The consolidation of the play controls on top of the Time View window.

  • The consolidation of the viewport controls.

  • An improved Node Palette.

Starter Game 2.0

The StarterGame Project has been updated to demonstrate best practices with Lumberyard such as having all environment assets in FBX format instead of CGF format, using PhysX as the Physics system, and demonstrating gameplay logic using Script Canvas scripts. We have also included a brand new player character named "Valena" with all-new animations. Jack, the old android model, still exists under the new name of "BURT" and is used as the enemy AI model. (At press time, Jack had no comment.)

Here is a list of the high-level changes happening with this content update:

  • CGF assets in the project have been converted to FBX format so customers can modify their assets in the Lumberyard Editor.

    • Note: Asset Processor still converts FBX to CGF in the cache.

  • Animation graphs (anim graphs) have been rebuilt to demonstrate best practices. The animation graph is shared between Valena and BURT.

  • Gameplay logic is now driven using Script Canvas instead of Lua scripts. We have simplified the gameplay as well based on feedback from customers that it was difficult to dissect the original StarterGame project.

  • We are using the PhysX system instead of CryPhysics. The AI and NavMesh systems were also updated in 1.25 to work with PhysX.

  • We are using the Dynamic Vegetation system for ground coverage.

  • The StarterGame project code has been removed from the engine code folder. We are no longer using specialized C++ code or components for the project so it represents default Lumberyard features.

  • All reusable assets (Characters, Environment, Weapons, etc.) have been moved into Asset Gems so customers can easily add them to their own projects.

  • The update currently only works with PC and supported console platforms.

Here is a list of what we did not cover with this content update:

  • Mobile support. iOS and Android builds are not available at this time.

  • Cinematics were removed since we swapped out to a new player character.

For more details on how to run and play StarterGame, read the documentation here.


                  starter game 2 0 character

(Welcome, Valena the Astronaut! Oh dear, she’s already blasting. We should’ve asked before taking her picture.)

Documentation

The Lumberyard documentation team has been working hard to respond to feedback, and we’ve made some initial changes to the layout and organization of the content. If you hop on over to the Lumberyard User Guide, you’ll see that we’ve reorganized the content to better focus on feature groupings, customer workflows, and a stronger Google search experience. We’ve reviewed your feedback at length and will continue to iterate on the docs experience as Lumberyard releases progress, filling in content gaps and generally bringing as much as we can of the docs up-to-date.


                  ly docs new toc

For other updates to Lumberyard with v1.25, read Lumberyard 1.25 Changes and Improvements.

Feature Deprecations

The following features have been deprecated with Lumberyard v1.25 and will be removed in a following release.

Cloud Canvas

  • The Cloud Gem Portal (CGP) is deprecated and will be removed in a future version of Lumberyard.

Animation Editor (EMFX)

  • The binary format of anim graphs and motionsets in 1.25 is deprecated with Lumberyard 1.25. Please resave your anim graphs and motionsets with 1.25, so they will be saved as XML. The old binary serialization of anim graphs and motionsets will be removed in a future version of Lumberyard.

Legacy Terrain

  • The old Terrain model (referred to now as "Legacy Terrain") is deprecated and will have its functionality moved to a new Legacy Terrain Gem in a future release. This forthcoming Gem will preserve backwards compatibility when enabled for your project.

Lumberyard User Interface

  • The old user interface, "UI 1.0", will be deprecated in the next version of Lumberyard.

More Information