Developer Guide (Version 1.12)

Lumberyard for Programmers

The Amazon Lumberyard Developer Guide is intended for programmers or anyone working directly with the Lumberyard code. For a conceptual orientation, see Core Concepts of Lumberyard for Programmers.

This guide includes the following sections:

  • AI

    Describes a variety of AI features that process navigation and individual and group behaviors, and describes convenient tools such as a Visual AI debugger, behavior tree visual editor, and a visual flow graph editor.

  • Asset Builder API

    Use the asset builder API to develop a custom asset builder that can process any number of asset types, generate outputs, and return the results to the asset processor for further processing. A custom builder can be especially useful in a large project that has custom asset types.

  • AZ Code Generator

    AZ Code Generator is a command line utility that generates source code (or any data or text) from specially tagged source code. You can use it when the structure of the intended code is known in advance.

  • AZ Modules

    AZ modules are new, Amazon-created code libraries that plug into Lumberyard games and tools. These AZ modules implement specific initialization functions. When a Lumberyard application starts, it loads each AZ module and calls the corresponding initialization functions.

  • Cloud Canvas

    Cloud Canvas is Lumberyard's technology for connecting your game to Amazon Web Services. With Cloud Canvas, you can use AWS to implement cloud-hosted features and create asynchronous multiplayer games. Using AWS means you no longer have to acquire, configure, or operate host servers to implement connected gameplay.

  • Component Entity System

    The component entity system is a new Amazon-created way of creating components that is superior to (and that will eventually replace) the legacy Legacy Entity System.

  • Input in Amazon Lumberyard

    Describes Lumberyard's input system that uses the AZ framework for input interfaces, devices, and channels.

  • Demo and Video Capture

    Describes how to use Lumberyard Editor or the Lumberyard standalone Launcher to record benchmarking videos and capture audio.

  • Event Bus (EBus)

    Event buses are Lumberyard's general purpose system for dispatching messages. EBuses minimize hard dependencies between systems, are event-driven (which eliminates polling), handle concurrency well, and enable predictability by providing support for the ordering of handlers on a given bus.

  • File Access

    Describes how to compress game content files and how to track invalid file reads that can potentially stall the performance of a game.

  • Graphics and Rendering

    Lumberyard's shading core uses the same physical parameters that are used in high end film rendering pipelines. This section covers render nodes, true type font rendering, and the star data used in sky rendering. It also describes how to control anti-aliasing so that you can produce graphics from very sharp images to softer blurred images.

  • Lua Scripting

    Lua is Lumberyard's scripting language. This section contains a guide to writing Lua scripts for Lumberyard's component entity system, a tutorial on Lumberyard's Lua Editor, and Lua API references.

  • Networking System

    Describes GridMate, Lumberyard's networking subsystem, and contains topics on multiplayer setup, the session service, controlling bandwidth usage, and synchronizing game state using the GridMate replica framework.

  • Physics

    Describes the Lumberyard physics system and how to interact with the physics engine. This section shows you how to create a physical world object, fill the world with geometries and physical entities, and control the entities with the functions described.

  • Profiler

    Profiler is a Lumberyard tool that can capture, save, and analyze network, CPU, and VRAM usage statistics. You can used the saved data to analyze network usage frame by frame, fix problems in the use of network bandwidth, and optimize the performance of your game.

  • Script Canvas Programmer's Guide

    Learn how to expose run-time code and gem functionality as nodes in Lumberyard's Script Canvas visual authoring environment.

  • Legacy Lumberyard Programming Content

    Contains legacy Lumberyard engineering topics.