Testing and optimization

Test automation is the process of writing small snippets of code (tests) to verify the desired functionality of Open 3D Engine extensions and tools that you create.

Contributors to the O3DE Project are required to write tests for their features, following the standards set by the Open 3D Foundation Testing Special Interest Group. If you plan to contribute, make sure that you’re familiar with project test standards as well as the frameworks.

Test Runners

O3DE uses standard test runners to collect, execute, and gather results. The officially supported test runners are:

Test Tools Packages

Open 3D Engine (O3DE) offers several tools packages to make writing tests quicker, safer, and more consistent. Before you write tests, take time to familiarize yourself with the tools.


AzTest is a collection of abstractions, functions, and wrappers to make writing C++ tests easier.


EditorPythonTestTools are a collection of test tools focused around accessing Editor functionality. These tools should be used whenever you want to automate tasks which would occur in the Editor.


The LyTestTools are testing productivity tools for writing and debugging tests that across different environments. This includes (but isn’t limited to) environment manipulation, creating/collecting images and logs, and starting project launchers.