Defold Learn logo


LiveUpdate API documentation

Functions and constants to access resources.

Version: beta

FUNCTIONS
liveupdate.add_mount() Add resource mount
liveupdate.get_mounts() Get current mounts
liveupdate.remove_mount() Remove resource mount
CONSTANTS
liveupdate.LIVEUPDATE_BUNDLED_RESOURCE_MISMATCH LIVEUPDATE_BUNDLED_RESOURCE_MISMATCH
liveupdate.LIVEUPDATE_ENGINE_VERSION_MISMATCH LIVEUPDATE_ENGINE_VERSION_MISMATCH
liveupdate.LIVEUPDATE_FORMAT_ERROR LIVEUPDATE_FORMAT_ERROR
liveupdate.LIVEUPDATE_INVAL LIVEUPDATE_INVAL
liveupdate.LIVEUPDATE_INVALID_HEADER LIVEUPDATE_INVALID_HEADER
liveupdate.LIVEUPDATE_INVALID_RESOURCE LIVEUPDATE_INVALID_RESOURCE
liveupdate.LIVEUPDATE_IO_ERROR LIVEUPDATE_IO_ERROR
liveupdate.LIVEUPDATE_MEM_ERROR LIVEUPDATE_MEM_ERROR
liveupdate.LIVEUPDATE_OK LIVEUPDATE_OK
liveupdate.LIVEUPDATE_SCHEME_MISMATCH LIVEUPDATE_SCHEME_MISMATCH
liveupdate.LIVEUPDATE_SIGNATURE_MISMATCH LIVEUPDATE_SIGNATURE_MISMATCH
liveupdate.LIVEUPDATE_UNKNOWN LIVEUPDATE_UNKNOWN
liveupdate.LIVEUPDATE_VERSION_MISMATCH LIVEUPDATE_VERSION_MISMATCH

Functions

liveupdate.add_mount()

liveupdate.add_mount(name,uri,priority,callback)

Adds a resource mount to the resource system. The mounts are persisted between sessions. After the mount succeeded, the resources are available to load. (i.e. no reboot required)

PARAMETERS

name string
Unique name of the mount
uri string
The uri of the mount, including the scheme. Currently supported schemes are 'zip' and 'archive'.
priority number
Priority of mount. Larger priority takes prescedence
callback function
Callback after the asynchronous request completed

RETURNS

result number
The result of the request

EXAMPLES

Add multiple mounts. Higher priority takes precedence.
liveupdate.add_mount("common", "zip:/path/to/common_stuff.zip", 10, function (result) end) -- base pack
liveupdate.add_mount("levelpack_1", "zip:/path/to/levels_1_to_20.zip", 20, function (result) end) -- level pack
liveupdate.add_mount("season_pack_1", "zip:/path/to/easter_pack_1.zip", 30, function (result) end) -- season pack, overriding content in the other packs

liveupdate.get_mounts()

liveupdate.get_mounts()

Get an array of the current mounts This can be used to determine if a new mount is needed or not

PARAMETERS

None

RETURNS

mounts table
Array of mounts

EXAMPLES

Output the current resource mounts
pprint("MOUNTS", liveupdate.get_mounts())
Give an output like:
DEBUG:SCRIPT: MOUNTS,
{ --[[0x119667bf0]]
  1 = { --[[0x119667c50]]
    name = "liveupdate",
    uri = "zip:/device/path/to/acchives/liveupdate.zip",
    priority = 5
  },
  2 = { --[[0x119667d50]]
    name = "_base",
    uri = "archive:build/default/game.dmanifest",
    priority = -10
  }
}

liveupdate.remove_mount()

liveupdate.remove_mount(name)

Remove a mount the resource system. The remaining mounts are persisted between sessions. Removing a mount does not affect any loaded resources.

PARAMETERS

name string
Unique name of the mount

RETURNS

result number
The result of the call

EXAMPLES

Add multiple mounts. Higher priority takes precedence.
liveupdate.remove_mount("season_pack_1")

Constants

liveupdate.LIVEUPDATE_BUNDLED_RESOURCE_MISMATCH

Mismatch between between expected bundled resources and actual bundled resources. The manifest expects a resource to be in the bundle, but it was not found in the bundle. This is typically the case when a non-excluded resource was modified between publishing the bundle and publishing the manifest.


liveupdate.LIVEUPDATE_ENGINE_VERSION_MISMATCH

Mismatch between running engine version and engine versions supported by manifest.


liveupdate.LIVEUPDATE_FORMAT_ERROR

Failed to parse manifest data buffer. The manifest was probably produced by a different engine version.


liveupdate.LIVEUPDATE_INVAL

Argument was invalid


liveupdate.LIVEUPDATE_INVALID_HEADER

The handled resource is invalid.


liveupdate.LIVEUPDATE_INVALID_RESOURCE

The header of the resource is invalid.


liveupdate.LIVEUPDATE_IO_ERROR

I/O operation failed


liveupdate.LIVEUPDATE_MEM_ERROR

Memory wasn't allocated


liveupdate.LIVEUPDATE_OK

LIVEUPDATE_OK


liveupdate.LIVEUPDATE_SCHEME_MISMATCH

Mismatch between scheme used to load resources. Resources are loaded with a different scheme than from manifest, for example over HTTP or directly from file. This is typically the case when running the game directly from the editor instead of from a bundle.


liveupdate.LIVEUPDATE_SIGNATURE_MISMATCH

Mismatch between expected and actual integrity data for legacy liveupdate verification.


liveupdate.LIVEUPDATE_UNKNOWN

Unspecified error


liveupdate.LIVEUPDATE_VERSION_MISMATCH

Mismatch between manifest expected version and actual version.