Skip to content

New data binding api

Choose a tag to compare

@JCash JCash released this 01 Apr 14:20
· 412 commits to main since this release
356dbf4

Fixes:

  • We now use the official Rive data binding api

Versions:

  • rive runtime 3a5b5058aca009b823154ed7f92c11d599c00ae3

⚠️ Breaking Change!!! ⚠️

⚠️ This is a complete overhaul of the Lua bindings. See the rive.script_api file, or use the editor code completions to read more.

The editor rendering of the Rive scenes is now also updated.

  • Docs are generated (as there are no official docs to read from)
  • rive.* functions work on the Defold components, to get or set e.g. the default file, artboard, statemachine, and viewmodel
  • rive.cmd.* functions are a 1:1 mapping to the rive api in command_queue.hpp.
  • It's possible to register global listener callbacks for the different handle types, and also properties
  • The api is asynchronous, and as such there are no true "getters". Use the listeners
    • If you set a property, it's cached, and you can get it synchronously
  • Linux backend now uses Vulkan (as the Rive OpenGL backend is broken on Linux).

⚠️ Removed or disabled functionalities, related to the support of Rive's official command queue api.
In terms of function parity, we model our extension after the functionality of the Rive Unreal plugin.

  • There is no way to attach a game object to a Rive bone in e.g. a character
  • Playing individual animations is not supported anymore.
    • No events are received from animation finished or animation looping
  • Each rive file needs to have at least one state machine