Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added more info on build variants #430

Merged
merged 1 commit into from
May 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/en/manuals/android.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ Press <kbd>Create Bundle</kbd> when you have configured the application bundle s

![Android Application Package file](images/android/apk_file.png)

:[Build Variants](../shared/build-variants.md)

### Installing an Android application bundle

#### Installing an APK
Expand Down
28 changes: 1 addition & 27 deletions docs/en/manuals/extensions-build-variants.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,7 @@ title: Native extensions - Build variants
brief: This manual describes the different builds variants that Defold can create and how they interact with native extensions and the engine.
---

# Native Extensions - Build Variants

## Build Variants

When you bundle a game, you need to choose what type of engine you wish to use.

* Debug
* Release
* Headless

These different versions are also referred to as `Build variants`

::: sidenote
When you choose <kbd>Project ▸ Build</kbd> you'll get the debug version.
:::

### Debug

This type of executable still has the debugging feature left inside it, such as profiling, logging and hot reload. This variant is chosen during development of the game.

### Release

This variant has the debugging features disabled. This options is chosen when the game is ready to be released to the app store.

### Headless

This executable runs without any graphics and sound. It means that you can run the game unit/smoke tests on a CI server, or even have it as a game server in the cloud.
:[Build Variants](../shared/build-variants.md)

## App Manifest

Expand Down
2 changes: 2 additions & 0 deletions docs/en/manuals/ios.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ Press *Create Bundle* and you will then be prompted to specify where on your com

You specify what icon to use for the app, the launch screen storyboard and so forth in the *game.project* project settings file in the [iOS section](/manuals/project-settings/#ios).

:[Build Variants](../shared/build-variants.md)

## Installing and launching bundle on a connected iPhone

You can install and launch the built bundle using editor's "Install on connected device" and "Launch installed app" check-boxes in the Bundle dialog:
Expand Down
37 changes: 37 additions & 0 deletions docs/en/shared/build-variants.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
## Build variants

When you bundle a game, you need to choose what type of engine you wish to use. You have three basic options:

* Debug
* Release
* Headless

These different versions are also referred to as `Build variants`

::: sidenote
When you choose <kbd>Project ▸ Build</kbd> you'll always get the debug version.
:::


### Debug

This type of executable is typically used during development of a game as it has several useful debugging features included:

* Profiler - Used for gathering performance and usage counters. Learn how to use the profiler in the [Profiling manual](/manuals/profiling/).
* Logging - The engine will log system information, warnings and errors when logging is enabled. The engine will also output logs from the Lua `print()` function and from native extensions logging using `dmLogInfo()`, `dmLogError()` and so on. Learn how to read these logs in the [Game and System Logs manual](https://defold.com/manuals/debugging-game-and-system-logs/).
* Hot reload - Hot-reload is a powerful feature which lets a developer reload resource while the game is running. Learn how to use this in the [Hot-Reload manual](https://defold.com/manuals/hot-reload/).
* Engine services - It is possible to connect to and interact with a debug version of a game through a number of different open TCP ports and services. The services include the hot-reload feature, remote log access and the profiler mentioned above, but also other services to remotely interact with the engine. Learn more about the engine services [in the developer documentation](https://github.com/defold/defold/blob/dev/engine/docs/DEBUG_PORTS_AND_SERVICES.md).


### Release

This variant has the debugging features disabled. This options should be chosen when the game is ready to be released to the app store or in other ways shared with players. It is not recommended to release a game with the debugging features enabled for a number of reasons:

* The debugging features take up a little bit of size in the binary, and [it is a best practice to try to keep the binary size of a released game as small as possible](https://defold.com/manuals/optimization/#optimize-application-size).
* The debugging features takes a little bit of CPU time as well. This can impact the performance of the game if a user has a low-end hardware. On mobile phones the increased CPU usage will also contribute to heating and battery drain.
* The debugging features may expose information about the game that is not intended for the eyes of the players, either from a security, cheating or fraud perspective.


### Headless

This executable runs without any graphics and sound. It means that you can run the game unit/smoke tests on a CI server, or even have it as a game server in the cloud.
2 changes: 2 additions & 0 deletions docs/pl/manuals/android.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ Kliknij <kbd>Create Bundle</kbd> po skonfigurowaniu wszystkich ustawień. Będzi

![Android Application Package file](images/android/apk_file.png)

:[Build Variants](../shared/build-variants.md)

### Instalowanie paczek na Androidzie

#### Instalowanie APK
Expand Down
2 changes: 2 additions & 0 deletions docs/ru/manuals/android.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ Defold поддерживает создание файлов APK и AAB. Выб

![Файл пакета приложения Android](images/android/apk_file.png)

:[Build Variants](../shared/build-variants.md)

### Установка пакета приложений для Android

### Установка APK
Expand Down
2 changes: 2 additions & 0 deletions docs/zh/manuals/android.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ Defold 支持创建 APK 和 AAB 文件. 从打包格式下拉菜单中选择.

![Android Application Package file](images/android/apk_file.png)

:[Build Variants](../shared/build-variants.md)

### 安装 Android 应用包

#### 安装 APK
Expand Down
2 changes: 2 additions & 0 deletions docs/zh/manuals/ios.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ Device identifier (UDID)

可以在 *game.project* 项目配置文件的 [iOS 部分](/manuals/project-settings/#iOS) 设置应用的图标, 启动屏幕 storyboard 等等.

:[Build Variants](../shared/build-variants.md)

## 在已连接的 iPhone 上安装和运行应用

选择编辑器中的 "Install on connected device" 和打包对话框的 "Launch installed app" 即可安装和运行应用:
Expand Down