IN THIS ARTICLE
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:UseVisual Studio 16
as the generator for Visual Studio 2019, andVisual Studio 17
for Visual Studio 2022. For a complete list of common generators for each supported platform, refer to Configuring projects.
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.20.5 or higher.
Section topics
Topic | Description |
---|---|
Configure and Build | The full details on how to configure and build O3DE core, Gems, and projects. |
Create Distributable Open 3D Engine Builds | Instructions on how to separate engine developer and project developer workflows, by creating fixed binaries to distribute to project teams. |
O3DE Packages | Learn about the O3DE package system that’s used to ship binaries along with your Gem or project. |
Troubleshooting | How to debug and troubleshoot CMake and build problems. |
CMake Settings Reference | Reference for user-configurable CMake settings specific to O3DE. |
Related topics
Topic | Description |
---|---|
Windows Support | Prerequisites for building on Windows 10. |
Linux Support | Prerequisites for building on Linux. |