⇠ More posts

Defold release 1.3.7

By Björn Ritzl on Oct 18, 2022

Tagged as: Release notes


NEW: (#6935) Frustum culling for labels Adds support for frustum culling for label components.

NEW: (#5879) Json encode API function Added a new function to the json namespace json.encode(tbl) that can be used to generate a json formatted string from a lua table:

local json_str = json.encode({"test", test_tbl = { 1, 2, 3}})
pprint(json_str) -- prints {"1":"test","test_tbl":[1,2,3]}

NEW: (#6992) Add support for setting / getting mouse lock state Added mouse locking functionality on desktop and web platforms. This is done by using two new API functions:

-- set the mouse locking state
-- get the currently set mouse locking state
local mouse_lock = window.get_mouse_lock()

Note that for web platforms, you cannot request mouse lock outside of “user interactions”, so to get that to work you can use the html5.set_interaction_listener(callback) function to request the mouse lock for web platforms.

NEW: (#4653) Slice9 support for sprites Added slice-9 support for sprites. Slice-9 splits up the area of the sprite in at most 9 separate regions to proportionally scale an image (see https://defold.com/examples/gui/slice9/ for an example).

Three new fields has been added:

  • Size mode - auto or manual. “Auto” will use the size from the current animation to produce vertices, “Manual” will use the “size” property to set the size of the sprite. This can be set from scripts as usual by using go.set.
  • size - vec3 with size properties
  • slice 9 - vec4 with Left, Top, Right, Bottom offsets for the slices. Units in pixels

NEW: (#6859) Added support for glTF models+animations In this update, we’ve added support for glTF format.


  • We support both .glb and .gltf formats.
  • We currently only export max one skeleton per file
  • It supports skinning and animating meshes.
  • It now supports multiple meshes per model
  • Currently still uses one material for all meshes in a model
  • Currently still only support world space vertices for skinned models
  • Each file should still only contain one animation
  • Added support for tangent space uv’s

We don’t support:

  • multifile glTF files (i.e. no external buffers!)
  • embedded textures (we have our own way of handling textures)

Breaking change ⚠️

The .animationset file format now requires you to select a skeleton. This allows us to keep all our internal bone indices optimized.

:warning: Note that if you save your files with this editor version, it won’t open in an older editor. It is a single line change in the format though, so it’s easy to revert any changed files.

NEW: (#6998) Add interaction listener to html5 namespace Added a new function for setting an interaction listener on web platforms:


If the callback is set, the callback will be invoked when a user clicks, touches or types in the browser.

FIX: (#7025) Fix issue when bundling for iOS without any native extensions A recent improvement to the Info.plist merge process for native extensions had the unfortunate side-effect that builds without any native extensions failed to install due to strict checks of the Info.plist. This fix solves this issue by removing the merge attribute definition from the Inof.plist file if it still exists when bundling (which it does if bundling without native extensions).

FIX: (#6967) Added SteamDeck controller config

FIX: (#6201) Fix issue with mouse wheel events in HTML5 builds Capturing mouse wheel events in HTML5 builds generated errors in the browser console. This fix ensures that mouse wheel events no longer generate errors.

FIX: (#6964) Fix issue with mouse wheel events in HTML5 builds Capturing mouse wheel events in HTML5 builds generated errors in the browser console. This fix ensures that mouse wheel events no longer generate errors.

FIX: (#7005) Fix json parsing load times for large files This fixes loading of large json files. A file that previously would take minutes now takes a second.

FIX: (#6960) Cursor locked to corner of window for high-dpi screens This fixes an issue when using mouse lock on a high dpi screen. The pointer became locked to the top right corner of the screen which made mouse movement unreliable.

FIX: (#6942) Added spin lock to LogInternal for securing the custom log hook

FIX: (#6749) Remove dependency on MS Visual C++ Redistributable Packages for oggz-validate tool This fix replaces oggz.dll with dependency on MS Visual C++ Redistributable Packages with dll without such a dependency.

FIX: (#6968) Reset state from renderobject Design: https://docs.google.com/document/d/1e18uhDzXUyqJcrwy8_HuwqBHucXFx0o2-VB1Ph1FCcU/edit#

This PR adds:

  • All graphics adapters use the pipeline struct representing the current draw state
  • Render lists reset their state based on previous set values in the graphics module
  • Engine tests


NEW: (#3380) Speed up Lua debugger Speed up the Lua debugger in places where developer doesn’t have any breakpoints.

NEW: (#3855) Track recent files and allow opening them User-facing changes:

User now can press Cmd+Shift+T (macOS) / Ctrl+Shift+T (Windows and Linux) to reopen previously closed tabs. File menu now has a new submenu — Recent Files — that allows selecting a recently accessed file to open/focus on. Also, editor now has Recent Files dialog that allows searching from a larger list of recent files, available using Ctrl+R (macOS) / Alt+R (Windows and Linux) shortcuts.

NEW: (#6408) Improve build progress reporting User-facing changes:

  1. All build engine errors are now shown in the Build Errors view. Previously, some exceptions that occurred during engine build process were silently ignored.
  2. Files with invalid content are properly displayed in the Build Errors view. Previously, invalid files were displayed as “Unknown source” instead of a file path.
  3. Verbose bob log is now shown when bundling in the console view.

FIX: (#6696) Don’t suggest images already in the atlas User-facing changes: When adding images to atlas, images that are already there are no longer suggested since it’s an error to add duplicate images to atlas (but not to an animation).

FIX: (#6689) Bind Shift+Enter to find prev term in console