Updated Rive extension

For those of you using the Rive extension, we have now finally released version 11.0.3 .

In this major release we’ve finally moved to support Rive’s new databinding api (a.k.a command queue api).
This will allow us to more easily keep in sync with their features.

The editor rendering of the Rive scenes is now also updated to use their new renderer.

To use this extension version, you need Defold 1.12.3+

:warning: Breaking Change!!! :warning:

These changes also means we have to do breaking changes to this extension.
The biggest one is that the old Lua api is gone, and replaced with functions that match Rive’s databinding api.

See the rive.script_api file in your extension, or use the editor code completions to read more.

  • 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 first, it’s cached, and you can get it synchronously
  • Linux backend now uses Vulkan (as the Rive OpenGL backend is broken on Linux).

:warning: 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. If we lack a feature, please compare first with the Unreal plugin if it supports it, as it’s likely Rive will implement it there first.

  • 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

I hope this update works well for you, and please report any issues you may find.

12 Likes