メインコンテンツまでスキップ

ADT CLI for Unity game project

Last updated on September 12, 2025

Overview

The ADT CLI (Command Line Interface) was originally designed to support Unreal Engine projects, and therefore its functionality aligns closely with Unreal's file and data structures.

To support Unity-based projects, certain CLI commands require the --unity flag to adapt the behavior to Unity's structure. This flag tells the ADT system to handle paths, files, and data processing in a Unity-compatible way.

注記

The --unity flag is only applicable to specific commands, such as build register, upload, and game-binary upload.

Below is a list of commands that require the --unity flag when used for Unity game projects:

1. Build Register
Registers a new build for the project. This generates a build ID used to associate crash reports, issues, and sessions.

./blackboxcli.exe build register --unity 
--platform-name <target_platform>
--platform-arch <platform_architecture>
--game-project <path_to_game_project>
--game-engine <path_to_game_engine>
--smartbuild

2. Game Binary Upload
Uploads the compiled game binary to ADT.

.\BlackBoxCLI.exe game-binary upload --unity 
--game-project <project_path>
--game-archive <archive_path>
--entry-point <executable_path>
--namespace <namespace>
--apikey <apikey>

3. Game Binary Download
Downloads a game binary associated with a specific build.

.\BlackBoxCLI.exe game-binary download --unity
--build-id <build_id>
--output-path <output_path>
--namespace <namespace>
--apikey <apikey>
--client-id <client_id>
--client-secret <client_secret>
--username <ADT_email>
--password <ADT_password>

4. Smartbuild Upload
Uploads the build using Smart Build, which optimizes data transfer by reusing unchanged files.

.\BlackBoxCLI.exe smartbuild upload --unity
--build-id <your_target_build_id>
--upload-dir <path_directory_to_upload>
--entry-point <executable_path>
--multipart-size <desired_multipart_size_in_megabytes. Can't_be_less_than_5>
--namespace <namespace>
--apikey <apikey>

5. Smarbuild Download
Downloads a build using the Smart Build system with caching support.

.\BlackBoxCLI.exe smartbuild download --unity
--build-id <build_id>
--output-path <output_path>
--cache-dir <cache_directory>
--access-token <access_token>
--namespace <namespace>
--apikey <apikey>

6. Upload PDB (Program Database)
Parses the executable and uploads filtered PDB files to the ADT server for debugging purposes. If you did not upload the PDB files, all call stack in ADT will return :0 meaning the debugging process won't complete.

.\BlackBoxCLI.exe upload --unity
--game-archive <pdb_folder_path>
--game-engine <game_engine_path>
--game-project <game_project_path>
--recursive <upload_all_symbols_in_game_archive_or_game_engine_directory>
--namespace <namespace>
--apikey <apikey>

7. Upload Binaries
Alternative method to upload binaries by referencing an existing build and version ID.

.\BlackBoxCLI.exe build upload-binaries --unity 
--game-archive <archive_path>
--entry-point <relative_executable_path>
--build-id <build_id>
--version-id <version_id>
--namespace <namespace>
--apikey <apikey>

Downloading the CLI

The ADT CLI is available on ADT Web Downloads page

  1. Login to ADT Web and select the Downloads menu from the sidebar then locate the CLI section.
  2. Identify your operating system (Windows or Linux).
  3. Click the Download button below your OS to begin downloading the CLI tool.
  4. Unzip the ADT CLI folder. Unzip the CLI folder
  5. Run the Powershell application and set the directory path to the unzipped Accelbyte Development Toolkit CLI folder. Set directory path to ADT CLI folder

Before integrating the ADT SDK into your game, you will have to run the following command to comply with the recommended workflow from ADT.

1. Add a version to your game
Version is a container to your build, it may contains more than one build and various platform. You will get version id which you can add later when configuring the SDK. To add this, you need to run:

./blackboxcli.exe version add
--name <new_version_name>
--namespace <your_namespace>
--apikey <your_game_apikey>
--game-project <your_project_path>

2. Register your build
Build is where your game associated in ADT, all sessions, crashes, issues are tied to your build id. Make sure you always register a new build after adding changes to your game build. You will get build id which you can add later when configuring the SDK.

./blackboxcli.exe build register 
--unity
--platform-name <target_platform>
--platform-arch <platform_architecture>
--game-project <path_to_game_project>
--game-engine <path_to_game_engine>
--smartbuild

3. Package your game
Package you game build based on your target platform.

4. Upload your PDB
You need to upload your PDB to ADT server in order to allow our system help debug and display the call stack on ADT Web.

.\BlackBoxCLI.exe upload --unity
--game-archive <pdb_folder_path>
--game-engine <game_engine_path>
--game-project <game_project_path>
--recursive <upload_all_symbols_in_game_archive_or_game_engine_directory>
--namespace <namespace>
--apikey <apikey>

5. Upload your build
You need to upload your build to ADT. Once completed, your teammates will be able to download the exact build from ADT Hub to perform some test or playtest on the build you just created.

.\BlackBoxCLI.exe smartbuild upload --unity
--build-id <your_target_build_id>
--upload-dir <path_directory_to_upload>
--entry-point <executable_path>
--multipart-size <desired_multipart_size_in_megabytes. Can't_be_less_than_5>
--namespace <namespace>
--apikey <apikey>

These are the recommended workflow in ADT CLI, you can use the CLI for many other functionalities such as creating channel or assign the build to a track and you can learn all that from this Manage channels and tracks using CLI document.

Summary

When working with Unity projects using the ADT CLI, always include the --unity flag for commands that interact with the game's binary or build structure. This ensures compatibility with Unity’s folder layout and data structure conventions, allowing the ADT backend to correctly parse and manage project assets.