Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
6209131
Document GLES 2 and WebGL 1 opt-in for 1.14.1
AGulev Oct 29, 2026
73e4972
Document per-font glyph generation for Defold 1.14.1
AGulev Oct 29, 2026
240f9c4
Document tile source animation frame lists for Defold 1.14.1
AGulev Oct 29, 2026
8fdd5b0
Document native DAP setup and mark ZeroBrane as legacy
AGulev Oct 29, 2026
122d4da
Document engine service OpenAPI discovery for Defold 1.14.1
AGulev Oct 29, 2026
751db6e
Document Windows graphics backend selection for Defold 1.14.1
AGulev Oct 29, 2026
11f500b
Document built-in glTF PBR materials for Defold 1.14.1
AGulev Oct 29, 2026
f4bb60c
Document glTF embedded resources and auto-fill for Defold 1.14.1
AGulev Oct 29, 2026
1a86bf3
Document native MP4 recording for Defold 1.14.1
AGulev Oct 29, 2026
55ee7a6
Document Android gamepad mappings and fallback for Defold 1.14.1
AGulev Oct 29, 2026
e1e9151
Document input action sources for Defold 1.14.1
AGulev Oct 29, 2026
5e9808e
Document custom iOS plist migration for Defold 1.14.1
AGulev Oct 29, 2026
77d5f88
Document iOS Home Indicator modes for Defold 1.14.1
AGulev Oct 29, 2026
2770546
Document reserved screen areas and resize events for Defold 1.14.1
AGulev Oct 29, 2026
7e9dad5
Document HTML5 pixel ratio limits for Defold 1.14.1
AGulev Oct 29, 2026
1623192
Document gain and pan for individual voices in Defold 1.14.1
AGulev Oct 29, 2026
97b0a89
Document resource loading timings for Defold 1.14.1
AGulev Oct 29, 2026
854abc4
Complete native DAP debugger documentation for Defold 1.14.1
AGulev Oct 29, 2026
70ef099
Document Vector fonts and color emoji for Defold 1.14.1
AGulev Oct 29, 2026
2872653
Document compressed glTF and KTX2 import for Defold 1.14.1
AGulev Oct 29, 2026
f685c57
Document editor resource traversal for Defold 1.14.1
AGulev Oct 29, 2026
1d6d80e
Complete Lua and HTTP recording guidance for Defold 1.14.1
AGulev Oct 29, 2026
d64c99a
Document Metal GPU trace capture for Defold 1.14.1
AGulev Oct 29, 2026
1bac341
Document scene view axis gizmo for Defold 1.14.1
AGulev Oct 29, 2026
6b3292a
Document player window placement and reset for Defold 1.14.1
AGulev Oct 29, 2026
c1f3461
version mentions cleanup 1
AGulev Oct 29, 2026
8f4c1a1
cleanup old versions mentions
AGulev Oct 29, 2026
dfac872
Address review feedback on English documentation
AGulev Oct 29, 2026
593b628
review fixes
AGulev Oct 29, 2026
1f6f2ba
Address review feedback and fix documentation spellcheck
AGulev Oct 30, 2026
98f7304
Correct supported PNG formats in asset import guide
AGulev Nov 2, 2026
12db44e
Shorten Android gamepad guidance for users
AGulev Nov 2, 2026
e4e989f
Remove deprecated font runtime setting from English docs
AGulev Nov 2, 2026
7f1f44b
Merge remote-tracking branch 'origin/master' into updates-1.14.1
AGulev Nov 2, 2026
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
18 changes: 18 additions & 0 deletions .wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ cutscenes
ds
dt
dae
DAP
deadzone
debuggable
decrypt
Expand All @@ -131,6 +132,7 @@ DotNet
drawables
dropdown
dSYM
DX
EDN
EFIGS
EGL
Expand Down Expand Up @@ -194,10 +196,12 @@ GPUs
Gradle
Grafana
GUI
GUID
GUIs
haxe
HarfBuzz
HD
HDR
hercule
hidpi
Hiero
Expand Down Expand Up @@ -254,6 +258,7 @@ khronos
KiB
Klayton
Kowalski
KTX
LargeXxxhdpi
leaderboard
leaderboards
Expand Down Expand Up @@ -296,6 +301,7 @@ mille
minification
minifying
minimap
mip
mipmap
mipmapping
mipmaps
Expand All @@ -318,6 +324,7 @@ NDA
NDK
NES
normals
Noto
NPC
NUL
NVDA
Expand Down Expand Up @@ -349,6 +356,7 @@ playtesting
plist
PNG
Poki
POSIX
PowerManager
pprint
pragma
Expand All @@ -362,6 +370,7 @@ preconnect
prehash
preinitialization
preload
premultiplication
premultiplied
premultiply
prepending
Expand All @@ -370,6 +379,7 @@ preprocessor
prerendered
preselect
prewarm
prewarms
Pro
procedurally
profi
Expand All @@ -396,7 +406,9 @@ raycast
reactively
readme
rebundle
recompressing
reconfiguring
redeclare
reimported
reindent
Remotery
Expand All @@ -405,6 +417,7 @@ Rendy
repo
retune
Revolute
RG
rgb
rgba
Ritzl
Expand All @@ -420,6 +433,7 @@ SD
SDK
SDKs
SDL
SDL's
SDF
Sergey
sha
Expand Down Expand Up @@ -474,6 +488,7 @@ TestFlight
texcoord
texel
texels
texturec
thrusted
Tilegrid
tilemap
Expand Down Expand Up @@ -519,12 +534,15 @@ uncompress
undoable
unloader
unlockable
unmapped
UNORM
Unreferenced
unscaled
unstripped
untrusted
upscaled
upscaling
upvalues
URI
userdata
UTF
Expand Down
4 changes: 4 additions & 0 deletions docs/en/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -1783,6 +1783,10 @@
{
"path": "/manuals/debugging-game-and-system-logs",
"name": "Reading game and system logs"
},
{
"path": "/manuals/recording",
"name": "Video recording"
}
]
},
Expand Down
4 changes: 3 additions & 1 deletion docs/en/manuals/adapting-graphics-to-screen-size.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,9 @@ If you also wish to support high resolution retina screens you can enable this i

![](images/screen_size/highdpi-enabled.png)

This will create a high dpi back buffer on displays that support it. The game will render in double the resolution than what is set in the Width and Height settings, which will still be the logical resolution used in scripts and properties. This means that all measurements stay the same and any content that is rendered at 1x scale will look the same. But if you import high res images and scale them to 0.5x they will be high dpi on screen.
High DPI lets the game use the display's pixel density for its rendering resolution. The *Width* and *Height* settings still define the project's logical resolution, while the rendering scale depends on the platform and display. For example, at a scale of 2, images imported at twice their intended size and drawn at 0.5x can retain their detail on a dense display.

On HTML5, the scale starts with the browser's device pixel ratio. `html5.min_pixel_ratio` and `html5.max_pixel_ratio` can bound this scale when `display.high_dpi` is enabled. Each limit defaults to `0` (disabled), and fractional ratios, including values below `1`, are supported. These limits change the canvas rendering resolution while preserving its CSS display size. With High DPI disabled, the ratio stays at `1`. See [Pixel ratio limits](/manuals/html5/#pixel-ratio-limits) for an example that caps rendering on dense displays.


## Creating an adaptive GUI
Expand Down
6 changes: 5 additions & 1 deletion docs/en/manuals/android.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,10 @@ For this feature to work, you will need *ADB* installed and *USB debugging* enab

An *.aab* file can be uploaded to Google Play via the [Google Play developer console](https://play.google.com/apps/publish/). It is also possible to generate an *`.apk`* file from an *.aab* file to install it locally using the [Android bundletool](https://developer.android.com/studio/command-line/bundletool).

## Display cutouts

`window.get_reserved_areas()` reports display cutout rectangles on Android 9 (API level 28) and later. Use `window.get_safe_area()` when you need a safe layout rectangle. See [Reserved screen areas](/manuals/porting-guidelines/#reserved-screen-areas) for coordinate units, behavior on unsupported platforms, and how to refresh your layout when the reported areas change.

## Shrinking Java code and Android resources with R8 {#shrinking-java-code-with-r8}

R8 reduces the size of Java code through shrinking, optimization and obfuscation. With Defold 1.14.0 or later and a compatible Extender build server, it also removes unused Android resources, such as layouts, drawables and raw resources supplied by extensions and their Android dependencies. Defold game assets in the game archive are not processed by R8.
Expand All @@ -102,7 +106,7 @@ Make sure every extension with Java code provides a `.keep` file for the classes

Leaving **R8 Keep Rules** empty uses D8 without shrinking. Enabling R8 uses the native extension build service, even for a project without native extensions.

Starting with Defold 1.14.0, Android resource shrinking is enabled by the same **R8 Keep Rules** setting; there is no separate project setting for it. Older Defold SDKs retain code-only R8 shrinking.
Android resource shrinking is enabled by the same **R8 Keep Rules** setting; there is no separate project setting for it. Older Defold SDKs retain code-only R8 shrinking.

### Adding rules to an extension

Expand Down
15 changes: 8 additions & 7 deletions docs/en/manuals/app-manifest.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ The application manifest controls which features and backends are linked into th

![](images/app_manifest/create-app-manifest.png)

![](images/app_manifest/app-manifest.png)

# Applying the manifest

In `game.project`, assign the manifest to `Native Extensions` -> `App Manifest`.
Expand All @@ -36,7 +34,7 @@ Control rig and model functionality, or select None to exclude model and rig com

## Exclude Record

Excluded the video recording capability from the engine (see the [`start_record`](https://defold.com/ref/sys/#start_record) message documentation).
Exclude native MP4 recording, the [`recorder` Lua module](/ref/recorder/) and the recording HTTP service from desktop debug builds. Recording is already omitted from release, headless, mobile and web builds. See the [recording manual](/manuals/recording) for the workflow.


## Profiler
Expand Down Expand Up @@ -118,23 +116,26 @@ Use the deprecated Android Support Library instead of Android X. [More info](htt

## Graphics

Select which graphics backends to include for each platform. A combined choice includes both backends so the preferred backend can fall back when it is unavailable.
Select which graphics backends to include for each platform. A combined choice includes multiple backends so the engine can fall back when its preferred backend is unavailable. Including more backends increases engine size.

Windows and Linux use separate fields. The **DX12** option selects DirectX 12 on Windows.

| Field | Platforms | Choices | Default |
|---|---|---|---|
| **Graphics** | Windows and Linux | OpenGL, Vulkan, OpenGL & Vulkan | OpenGL |
| **Graphics (Linux)** | Linux | OpenGL, Vulkan, OpenGL & Vulkan | OpenGL |
| **Graphics (Windows)** | Windows | OpenGL, Vulkan, DX12, OpenGL & Vulkan, OpenGL & DX12, Vulkan & DX12, OpenGL & Vulkan & DX12 | OpenGL |
| **Graphics (macOS)** | macOS | OpenGL, Metal, Vulkan, OpenGL & Metal, OpenGL & Vulkan | Metal |
| **Graphics (iOS)** | iOS | OpenGL, Metal, Vulkan, OpenGL & Metal, OpenGL & Vulkan | OpenGL |
| **Graphics (Android)** | Android | OpenGL+Vulkan, OpenGL, Vulkan | OpenGL+Vulkan |
| **Graphics (HTML5)** | HTML5 | WebGL, WebGPU, WebGL & WebGPU | WebGL |

On Linux ARM64, the **OpenGL** choice uses the OpenGL ES backend. The Android combined default prefers Vulkan when available and falls back to OpenGL ES.

Since Defold 1.14.0, macOS uses the native Metal backend by default. The **Vulkan** choice on macOS and iOS uses Vulkan through MoltenVK. The iOS simulator (`arm64_sim-ios`) always uses Metal, regardless of the **Graphics (iOS)** choice for devices.
macOS uses the native Metal backend by default. The **Vulkan** choice on macOS and iOS uses Vulkan through MoltenVK. The iOS simulator (`arm64_sim-ios`) always uses Metal, regardless of the **Graphics (iOS)** choice for devices.

## Use full text layout system

If enabled (`true`), this includes the full text layout system for shaping text, including right-to-left languages. Enable this option together with `font.runtime_generation` in *game.project* to use runtime generation for SDF fonts from TrueType (`.ttf`) or OpenType (`.otf`) resources. Runtime generation from `.otf` resources is supported since Defold 1.13.2. Read more in the [Font Manual](/manuals/font/#enabling-runtime-fonts).
If enabled (`true`), this includes the full text layout system for shaping text, including right-to-left languages. Enable this option to use runtime generation for TrueType (`.ttf`) or OpenType (`.otf`) fonts, and set *Glyph Generation* to **Dynamic** in each font resource that needs it. Dynamic generation supports both **SDF** and **Vector** modes. Read more in the [Font Manual](/manuals/font/#enabling-runtime-fonts).


## Use Rich Text
Expand Down
4 changes: 2 additions & 2 deletions docs/en/manuals/application-lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ The high-level order of *script* component Lua callback stages is:
Each game object component in the main collection is traversed. If any of these components has a script with a `fixed_update()`/`update()`/`late_update()` function, then that will be called. If the component is a collection proxy, each component in the proxy collection is recursively updated with all the steps in the `Update` phase.

::: sidenote
The order in which game object component `update()` functions are called is unspecified. You should not assume that the engine updates objects belonging to the same collection in a certain order. The same is true for `fixed_update()` and `late_update()` (since 1.12.0).
The order in which game object component `update()` functions are called is unspecified. You should not assume that the engine updates objects belonging to the same collection in a certain order. The same is true for `fixed_update()` and `late_update()`.
:::

#### Physics
Expand Down Expand Up @@ -204,7 +204,7 @@ The number of frame updates per second (which equals the number of update-loop r

#### Engine throttling

Defold 1.12.0 introduced an engine throttling API that can skip engine updates and rendering entirely, while still detecting input. Any input wakes up the engine again, and the engine can re-enter throttling after a cooldown.
Defold provides an engine throttling API that can skip engine updates and rendering entirely, while still detecting input. Any input wakes up the engine again, and the engine can re-enter throttling after a cooldown.

See `sys.set_engine_throttle()` API for details and usage examples.

Expand Down
2 changes: 1 addition & 1 deletion docs/en/manuals/bob.md
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ $

## Build server

Since Defold 1.14.0, Bob selects the default native extension build server from the release channel of its distribution:
Bob selects the default native extension build server from the release channel of its distribution:

| Bob release channel | Default build server |
|---|---|
Expand Down
2 changes: 1 addition & 1 deletion docs/en/manuals/bundling.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ These assets can be accessed via the [`sys.load_resource()`](https://defold.com/
When creating an application bundle you have an option of creating a debug or release bundle. The differences between the two bundles are small but important to keep in mind:

* Release builds do not include the [profiler](/manuals/profiling) by default. Set **Profiler** to **Always** in the [App Manifest](/manuals/app-manifest/#profiler) to include profiler support in both debug and release builds.
* Release builds do not include the [screen recorder](/ref/sys/#start_record)
* Release builds do not include [video recording](/manuals/recording) or the [`recorder` Lua module](/ref/recorder/). Recording is available in desktop debug builds unless **Exclude Record** is enabled in the [App Manifest](/manuals/app-manifest/#exclude-record).
* Release builds do not show the output of any calls to `print()` or the output from any native extensions
* Release builds have the `is_debug` value in `sys.get_engine_info()` set to`false`
* Release builds will not do reverse lookups of `hash` values when calling `tostring()`. What this means in practice is that a `tostring()` for a value of type `url` or `hash` will return its numeric representation and not the original string (`'hash: [/camera_001]'` vs `'hash: [11844936738040519888 (unknown)]'`)
Expand Down
Loading
Loading