What is the best way to implement Rive boards in JUCE?

In my plugin I want to show Rive boards. I tried to implement a renderer with Skia and Metal for macOS and Vulkan for Windows. This led to too much complexity and memory leak issues. I need to simplify. The plugin does not need super advanced GPU optimisation, as it is a simple plugin with standard knobs and faders. I need a cross-platform simple and stable solution. Since I use Juce 8.0.8, is WebBrowserComponent the answer? What about

  • CGContextRef or NSViewComponent for macOS?
  • JUCE’s OpenGL support (is this legacy software in 2025?)

Thank you in advance.

asking cuz Google reveals posts about woodworking when I search for “Rive boards”, what is a Rive board?

@matkatmusic I think it is Rive Artboards.

@mihai I am not familiar with Rive and cannot comment on the methods you mentioned. But the following repo might be helpful:

https://github.com/kunitoki/yup

Thank you, yes it’s rive artboards and I will look into yup :folded_hands:

I think your best bet is currently going to be using the Rive web output, and the JUCE WebBrowserComponent.

Yup is a great project but still in early stages.

If are willing to post your work on the custom renderer, perhaps there would be others willing to help with it. It would be amazing to have Rive artboards rendering in JUCE.

1 Like