This documentation is for a prerelease version of O3DE. Click here to switch to the latest release, or select a version from the dropdown.

Version:

Build

To support multiple native build toolchains, Open 3D Engine (O3DE) uses the CMake build tools . While most configurable build systems make it difficult to work cross-platform, CMake is intentionally designed to take generic configuration files and generate toolchain-specific project files, and then perform native builds.

Once you’ve registered O3DE and created an O3DE project, you can build your project with these commands:

cd <project-directory>
cmake -B build/windows -S . -G "Visual Studio 16" -DLY_3RDPARTY_PATH=<absolute-path-to-packages>
cmake --build build/windows --target <ProjectName>.GameLauncher Editor --config profile -- -m
Note:
Use Visual Studio 16 as the generator for Visual Studio 2019, and Visual Studio 17 for Visual Studio 2022. For a complete list of common generators for each supported platform, refer to Configuring projects.

Important:
When building using the O3DE pre-build Snap SDK, first export the O3DE_SNAP environment variable so CMake does not attempt to install Python pip requirements and fail. To export the O3DE_SNAP environment variable, run the command export O3DE_SNAP from the command line before running the CMake commands below.
cd <project-directory>
cmake -B build/linux -S . -G "Ninja Multi-Config" -DLY_3RDPARTY_PATH=<absolute-path-to-packages>
cmake --build build/linux --target <ProjectName>.GameLauncher Editor --config profile

Builds created with these commands are located in the <project-directory>/<build-directory>/bin/profile directory.

Refer to Configure and Build for a list of other build configurations.

O3DE requires CMake 3.22.0 or higher.

Section topics

TopicDescription
Configure and BuildThe full details on how to configure and build O3DE core, Gems, and projects.
Build Generated Source FilesLearn how to use the AzAutoGen automation tool to generate source files when building a target.
Engine and Project DistributionInstructions on how to separate engine developer and project developer workflows, by creating fixed binaries to distribute to project teams.
O3DE PackagesLearn about the O3DE package system that’s used to ship binaries along with your Gem or project.
TroubleshootingHow to debug and troubleshoot CMake and build problems.
CMake Settings ReferenceReference for user-configurable CMake settings specific to O3DE.
Script-Only ‘Quick-Start’ ProjectsDetails about Script only ‘Quick Start’ projects.
TemplatesInformation about Project, Gem, and other Templates available in the engine
TopicDescription
Windows SupportPrerequisites for building on Windows 10.
Linux SupportPrerequisites for building on Linux.