The Defold SDK

The Defold SDK contains the required functionality to declare a native extension as well as interface with the low-level native platform layer on which the application runs and the high-level Lua layer in which the game logic is created.

Usage

You use the Defold SDK by including the dmsdk/sdk.h header file:

#include <dmsdk/sdk.h>

The available SDK functions are documented in our API reference. The SDK contains the following namespaces with functions:

  • Align - Alignment macros. Use for compiler compatibility
  • Array - Templatized array with bounds checking.
  • Buffer - Buffer API for data buffers as the main way to communicate between systems. Lua API for buffer creation also exists.
  • Condition Variable - API for platform independent mutex synchronization primitive.
  • ConfigFile - Configuration file access functions. The configuration file is compiled version of the game.project file.
  • Connection Pool - API for a pool of socket connections.
  • Crypt - API with cryptographic functions.
  • DNS - API with DNS functions.
  • Engine - API with core engine functionality to get handles to config files, the internal web server, game object register etc.
  • Extension - Functions for creating and controlling engine native extension libraries.
  • Game Object - API for manipulating game objects.
  • Graphics - Platform specific native graphics functions.
  • Hash - Hash functions.
  • HID - API for generating programmatic input events.
  • HTTP Client - API for interacting with a HTTP clients.
  • Json - API for platform independent parsing of json files.
  • Log - Logging functions.
  • Math - API with mathematical functions.
  • Mutex - API for platform independent mutex synchronization primitive.
  • SSL Socket - API for secure socket functions.
  • Script - Built-in scripting functions.
  • Socket - API for socket functions.
  • String Functions - API for manipulating strings.
  • Thread - API for thread creation.
  • Time - API for universal time and timing functions.
  • URI - API for manipulation of URIs.
  • Web Server - API for a simple high-level single-threaded Web server based on dmHttpServer.
  • Shared Library - Utility functions for shared library export/import.
  • Sony vector Math Library - The Sony Vector Math library mainly provides functions used in 3-D graphics for 3-D and 4-D vector operations, matrix operations, and quaternion operations.

The Defold SDK headers are included as a separate defoldsdk_headers.zip archive for each Defold release on GitHub. You can use these headers for code completion in your editor of choice.