> For the complete documentation index, see [llms.txt](https://developers-apps-in-toss.toss.im/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers-apps-in-toss.toss.im/documentation/api-and-sdk-en/unity/build/build-profiles.md).

# Build profile

`AIT` Explains which settings automatically change at each build entry point in the menu, and how to change those values.

### Action Menu

| Menu                              | Purpose                                                                                                       |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `AIT > Dev Server > Start Server` | Run local development server (browser testing with devtools Mock SDK + panel)                                 |
| `AIT > Build & Package`           | Generate a package for distribution                                                                           |
| `AIT > Deploy (Test)`             | Test deployment after incremental build (`ait deploy`) — check on a real device via QR/URL                    |
| `AIT > Deploy (Production)`       | Test deployment after clean build (`ait deploy`) — apply for review/release from the console after deployment |

`ait deploy`is in both menus **always deploy to the Console QR test environment**(`intoss-private://`) . Actual release to users is not done by this CLI command, but after deployment **request review from the Console**must be done. For the detailed flow, see [Get started](https://developers-apps-in-toss.toss.im/documentation/unity/first-steps/getting-started)Please refer to it.

### profile matrix

| task                    | debug console | Development Build |  WebGL compression |  Stripping Level | LZ4 compression | debug symbols |
| ----------------------- | :-----------: | :---------------: | :----------------: | :--------------: | :-------------: | :-----------: |
| **Dev Server**          |   ✅ Enabled   |     ✅ Enabled     |      Disabled      |      Minimal     |    ✅ Enabled    |    Embedded   |
| **Build & Package**     |   ❌ Disabled  |     ❌ Disabled    | Automatic (Brotli) | Automatic (High) |    ✅ Enabled    |    External   |
| **Deploy (Test)**       |   ❌ Disabled  |     ❌ Disabled    | Automatic (Brotli) | Automatic (High) |    ✅ Enabled    |    External   |
| **Deploy (Production)** |   ❌ Disabled  |     ❌ Disabled    | Automatic (Brotli) | Automatic (High) |    ✅ Enabled    |    External   |

Deploy (Test) and Deploy (Production) use the same production profile, so the settings above are identical. The difference between the two is the **build scope**(incremental vs clean) and **deployment memo prefix**(`-m "[Test] …"` / `-m "[Production] …"`) — in the Console, these prefixes distinguish the two deployments.

> `Mock Bridge`is not a build profile item. `devtools`(`@apps-in-toss/devtools`) see the separate section.

### Meaning of each setting

#### devtools

For Dev Server only, **not a build profile, but `AIT > Configuration`a separate setting**. When enabled, you can run the game in the browser with devtools Mock SDK without the Toss app, and a panel for manipulating state appears on the screen. Unlike build profiles, it does not change build artifacts, so after changing the setting **it takes effect just by restarting the server**you do not need to rebuild. [API usage patterns](https://developers-apps-in-toss.toss.im/documentation/unity/first-steps/api-usage-patterns)are summarized in the devtools section of

#### Development Build

Unity's Development Build option.

| Value    | Description                                                 |
| -------- | ----------------------------------------------------------- |
| Enabled  | Faster builds, easier debugging (Profiler can be connected) |
| Disabled | Optimized release build                                     |

#### debug symbols

Determines where to place debug symbols (source maps). Applies in Unity 2022.3 and later.

| Value    | Description                                                                  |
| -------- | ---------------------------------------------------------------------------- |
| Embedded | Include symbols in build files (larger file size, easier debugging)          |
| External | Separate into a separate file (smaller file size, suitable for distribution) |

#### debug console

Shows a debug button in the lower-left corner of the screen. Tap it to view logs and [SDK events](https://developers-apps-in-toss.toss.im/documentation/unity/add-features/metrics). Disable it for production deployments.

#### WebGL compression

Compression format of the final artifact.

| Value     | Description                                    |
| --------- | ---------------------------------------------- |
| Automatic | Use Brotli (default)                           |
| Disabled  | No compression (prioritize build speed)        |
| Gzip      | Gzip compression                               |
| Brotli    | Brotli compression (highest compression ratio) |

Only Dev Server is Disabled for build speed, and the other profiles are Automatic (Brotli).

#### Stripping Level

Level of removing unused managed code.

| Value     | Description                                   |
| --------- | --------------------------------------------- |
| Automatic | Use High (default)                            |
| Minimal   | Remove only the minimum amount of code        |
| Low       | Low-level code stripping                      |
| Medium    | Medium-level code stripping                   |
| High      | Aggressively strip code (smallest build size) |

Only Dev Server is Minimal for build speed, and the rest are Automatic (High).

> **Note**: Disabled is not supported on WebGL (IL2CPP), so it has been removed from the options; values saved as Disabled in previous versions are normalized to Minimal. Types referenced only via reflection may be stripped in High, so if behavior changes after stripping `link.xml`specify what to preserve.

#### LZ4 compression

LZ4 compression in the Unity build process. It is enabled by default in all profiles.

### Customize profile

1. `AIT > Configuration` Open menu
2. Expand the "Build Profiles" section
3. Expand the desired profile (Dev Server, Production, etc.)
4. Change the checkbox for each option
5. Changes are saved automatically

Profile settings are `Assets/AppsInToss/Editor/AITConfig.asset`The entered value is saved in

### Environment variable overrides

In CI/CD or automation scripts, you can override profile values without modifying code. Most of them are `AITBuildInitializer.ApplyEnvironmentVariableOverrides(profile)`applied to a copy of the profile, and `AIT_IL2CPP_CONFIGURATION`only `Init` applied directly to PlayerSettings during the stage.

| Environment variable       | Description                        | Allowed values                                                |
| -------------------------- | ---------------------------------- | ------------------------------------------------------------- |
| `AIT_DEBUG_CONSOLE`        | Enable debug console               | `true` / `false`                                              |
| `AIT_COMPRESSION_FORMAT`   | Compression format                 | `-1` (Automatic) / `0` (Disabled) / `1` (Gzip) / `2` (Brotli) |
| `AIT_DEVELOPMENT_BUILD`    | Development Build                  | `true` / `false`                                              |
| `AIT_IL2CPP_CONFIGURATION` | IL2CPP compiler optimization level | `Debug` / `Release` / `Master`                                |

If outside the allowed values, `Debug.LogWarning`logs a warning and ignores only that variable — the build continues.

`AIT_DEVELOPMENT_BUILD`and `AIT_IL2CPP_CONFIGURATION`Both reduce link time, but they are different layers. The former is a Player option and the latter is an IL2CPP compiler optimizer level, so to reduce build time in CI, specifying both has a greater effect.

```bash
AIT_DEBUG_CONSOLE=true \\
AIT_COMPRESSION_FORMAT=0 \\
/Applications/Unity/Hub/Editor/2022.3.62f1/Unity.app/Contents/MacOS/Unity \\
  -quit -batchmode -projectPath ./MyProject
```

These are not all the environment variables read by the SDK. For `AIT_DISABLE_INSTALL_SKIP`is [Build pipeline](https://developers-apps-in-toss.toss.im/documentation/unity/build/build-process), and Sentry-related variables are in [Sentry integration](https://developers-apps-in-toss.toss.im/documentation/unity/add-features/sentry-integration)here.

### Build log

The profile applied when the build starts is printed to the Unity Console. What values actually took effect is confirmed by this log — environment variable overrides are reflected here as well.

```
[AIT] ========================================
[AIT] Build profile: Dev Server
[AIT] ========================================
[AIT]   Debug console: Enabled
[AIT]   Development Build: Enabled
[AIT]   LZ4 compression: Enabled
[AIT]   Compression format: Disabled
[AIT]   Stripping Level: Minimal
[AIT]   Debug symbols: Embedded
[AIT] ========================================
```

The compression format is shown exactly as stored in the profile (`-1`if it is `Automatic`) is shown as-is, and Stripping Level `-1`shows the value that will actually be applied in parentheses when it is

### Related documents

* [Get started](https://developers-apps-in-toss.toss.im/documentation/unity/first-steps/getting-started) — installation and basic setup
* [Build pipeline](https://developers-apps-in-toss.toss.im/documentation/unity/build/build-process) — what actually happens after the profile is applied
* [Build customization](https://developers-apps-in-toss.toss.im/documentation/unity/build/build-customization) — web entry point and marker area
* [API usage patterns](https://developers-apps-in-toss.toss.im/documentation/unity/first-steps/api-usage-patterns) — devtools behavior
* [Troubleshooting](https://developers-apps-in-toss.toss.im/documentation/unity/first-steps/faq) — when the build gets stuck


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developers-apps-in-toss.toss.im/documentation/api-and-sdk-en/unity/build/build-profiles.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
