O3Tanks is a version manager for O3DE (Open 3D Engine) to handle multiple engine installations. It relies on containers to reduce dependencies on the host machine, easing the creation of portable development environments or the addition into CI/CD pipelines.
Features:
- Download, build and install engine versions from any Git repository (official or forks).
- Check for engine updates and apply them automatically (if any).
- Bind a project to a specific engine version.
- Build, edit and run a project using its bound engine version.
- Export a project as an archive (zip, tar.gz) or a container image.
- Switch the engine usage between isolated containers and the host machine at anytime.
A visual summary of all supported commands and how they interact with each other is available at:
Differences between two modes are available in the Overview page.
-
Verify you meet the following requirements, according to the preferred mode:
-
Containerized mode (Linux only)
- Docker Engine 19.03 (or greater), both root and rootless mode are supported. See official documentation for installation details.
- NVIDIA Container Toolkit, if using a NVIDIA GPU with proprietary drivers. See official documentation for installation details.
-
Native mode (Linux, MacOS, Windows)
-
-
Clone this repository into a directory of your choice.
-
(Optional) Register
o3tanks
globally to be called from any location:- on Linux or MacOS, create a symbolic link to the main shell script:
sudo ln -s <YOUR_O3TANKS_DIR>/o3tanks.sh /usr/local/bin/o3tanks
- on Windows, add the installation directory to
PATH
in your System > Environment Variables.
- on Linux or MacOS, create a symbolic link to the main shell script:
More detailed instructions are available in the Get Started page.
Install the latest engine version from the official repository:
o3tanks install engine --branch development
Initialize a new empty project:
mkdir my_project
cd my_project
o3tanks init project --as MyProject --engine development
Open the editor to develop the project:
o3tanks open editor
Build and run an instance of the project:
o3tanks build client
o3tanks run client
Export the project (binary + assets) to a runnable archive:
o3tanks export client
See which engine version the project is using:
o3tanks settings engine
Keep the engine installation up-to-date:
o3tanks refresh engine development
o3tanks upgrade engine development
Display a description of available commands and options:
o3tanks help
o3tanks help <command>
Please refer to the main documentation for more complex scenarios, such as:
- installing the engine from your personal fork;
- managing the project gems (modules) to add / remove new custom features in the engine;
- creating a new empty gem to extend the engine and publishing it on your repository;
- ...and much more.
After the first installation, O3Tanks is able to update itself downloading the latest files from the repository where it was installed from:
o3tanks refresh self
o3tanks upgrade self
We are happy to receive your feeback! Please open an issue in our tracker if you would like to propose a new feature or you have encountered any error.
To get involved in the development of O3Tanks, please refer to our contribution guidelines.
O3Tanks is licensed under the Apache License, version 2.0. Please see LICENSE and NOTICE files for further details.