How to upvote features or request a new one
Use the search bar at the top to check if your request already exists.
Upvote any existing requests you want us to prioritize.
Use the 🚧 In progress, 🚀 Launched, and 🗺️ Planned labels in the Filter menu above to see what we’re working on.
If your request does not exist yet, create a new one. Duplicate requests will be deleted.
Holiday Hours
Most of our team is on break from December 25th through January 1st. We'll still be monitoring, but it may take us longer to respond to general support requests. Enterprise customers, please reach out to your dedicated account managers on Slack for urgent support.
The layout engine should have a UI creation module
Although it is possible to create a fully functional UI with the layout engine, it's use has a steep learning curve and is not exactly intuitive to use. There are many standard UI items most apps use (standard UI library items such as panels, check boxes, lists, etc). Creating each one of those is a lot of work and fiddly to handle and maintain.
Rive should have a standard UI library creation module which automates a lot of the standard universally used items.
Global Rive File Inputs and Apply Transforms Feature
Hi I have been using rive to design characters for a video game. These two features would help improve the process of accomplishing designing these characters faster and cleaner.
Feature 1: Global inputs
The idea of this is that there are inputs that are referenced by all art boards in a rive file. An example of this would be when I was designing the player character. There are 8 directions the player can face meaning 8 artboards plus the main controller artboard which adjusts which of the other nested artboards are visible depending on the direction the player is going. Each of the nested artboards have the same set of inputs for the characters design and which animation state they are in. That means I had to write the same inputs and key all of the separate ones from the main artboard 8 times. A global exposed input that all artboards can reference would be easier for this development process.
Feature 2: Apply Transforms
I have gotten to the point where I have enough characters designed that I want to reuse parts of the character for others since I have already drawn them (Arms, clothes, etc...). Since my characters are outlined with the stroke brush transferring one part of a character to another is not as easy as copy and paste. The stroke is based on the original size and scale of the object. That means that if I adjust the scale of one side and not the other the stroke is distorted. So now I have characters with various size values of strokes attempting to look the same size visibly to the eye. A nice feature would be a quick way to establish a shape and apply all the transforms to it similar to what you have to do in 3d design software. If I adjust the scale of an object and apply transforms, it sees the new size as the default shape. This will help solve the issue of stretched, mismatched strokes I am facing and may make the files more performant by removing unnecessary scale calculations by adjusting them upfront instead of everytime at runtime.
I love this tool and am excited to see where you guys continue to take it!
AE "shy" function
Add a "shy" function similar to after effects which allows users to hide elements in the animation window to allow faster workflows and enhance the overall UX. Thank you in advance!
JSON input
As a former Flash developer, I believe your product is great and has huge potential. It would be fantastic to build dynamic content based on data passed in JSON format. In Rive, you could create something like a data contract/interface for named JSON objects, allowing you to control content, events, and so forth based on the supplied values. Externally (e.g., from Flutter), you could pass in a JSON object, and if the format is incorrect, the widget could throw an error indicating an invalid data format.
Currently, in my demo, I have to mix the UI created in Rive with a container (Flutter widgets) for equipment, spells, and so on.
An example usage might be as follows: In one of your tutorials, you present a game UI with screens for Start Game, Save Game, and Load Game, etc. For the Load Game screen, saved games could rely on JSON data (previously retrieved from a server and transformed into an appropriate JSON object).
I suggest a small change to Pen for convenience.
Hello! Could the developers add a small new feature to work with the Pen? In After Effects if you place a point and still holding it, you can hold Space and move the point freely without releasing it, and then by releasing Space you continue to control the point handles. In Rive you have to switch between Pen and Select to move a point and it's not convenient.
Increment number inputs with listeners
I'd like to be able to have Rive control inputs more precisely. Right now I have to create lots of timelines to handle this or use a runtime and control it externally. I'd like to be able to tell a variable to Variable++.
Rust Support (particularly, Dioxus)
Hi!
I couldn't find any posts related to rust, so I'll be the inevitable requester!
I would appreciate it if Rive supported a Rust runtime, especially if it can connect to Dioxus: https://dioxuslabs.com/
In short, Dioxus is an up and coming cross platform Rust framework with a healthy amount of support that I think would make for a powerful combination when used alongside Rive. I'd love to be able to use Rive animations with this framework as both platforms grow.
Support for .ogg sound files (or other more compressed formats)
Sound files can significantly increase filesizes and can also cause disruption to Rive experiences when graphics are loaded ahead of sounds. This would be partially helped by introducing support for more compressed audio formats such as Ogg Vorbis. For a lot of Rive use cases compressed audio would likely suffice, and it's frustrating that one small 1-2 second FLAC or MP3 can be bigger than the rest of my file!
Support for .avif images
AVIF is widely supported and produces some of the smallest filesizes, and is compatible with transparency, therefore a great fit for Rive. Great to see that webm images are working but this addition would allow .riv files containing images to be even smaller.
(Fill and Strokes) Location value for color-stoppers in linear/gradial gradient
Hi guys, first of all, I congratulate you on Rive, which is a really powerful software, which you continue to enrich every month with new advanced and very powerful features.
However, in this sea of advanced features, I discern one tiny lack, (very tiny), but which if filled would be extremely convenient.
What is missing is an input box for the “location” value when selecting a color-stopper within a linear/radial gradient.
Without this box, it becomes really complicated to place a given gradient color at a precise point in the gradient.
For example, even just placing a color-stopper in the middle of the gradient is at present an impossible task. Let's not talk about such actions as placing 10 color-stoppers equidistant from each other in the gradient.
I point this out to you, as it is a really basic feature (present in any raster or vector graphics software), and therefore I imagine its implementation requires minimal effort.
Thanks in any case, and congratulations again on this beautiful software.
Consistent Hierarchy Behavior
When you select multiple timelines in the Animations panel and drag them into a folder, the order is reversed from what you drag it as. If you click and drag them into the same folder, it will swap the order.
This behavior does not consistently happen in the Inputs or Listeners panels.
Quality of life improvement would be to make sure that behavior is consistent across the board. It is nice to speed things up when rearranging the order of layers, however, with the current implementation it slows me down where I have to manually reorder.
Wrap events in layouts
I'd like to be able to use the layout engine to wrap events primarily so I could more easily organize events to a grid and rearrange them for visual organization.
Compare number inputs in the state machine
I wish I could check to see if two separate number inputs matched with the standard =, !=, =<, => conditions.
Folder Previews
Right now in the file screen, any folders are just large and blue. It would be nice to have some thumbnails of what's inside or make the text bigger so it's more readable at a glance.
Zoom in addition to scroll
The new scroll feature is awesome. Awesome-er would be if zoom is also supported.
Audio Volume / On Off
Just need to simply be able to trigger audio On or off. Right now I have to create a blank timeline for audio OFF, and another timeline for audio play. Why not just add a PAUSE, STOP to the PLAY settings?
I need to be able to control the moment the audio needs to stop (on click), rather than just have it play through even though the user clicked.
Pitch Shifting Sounds
I recently started adding sounds to my game and there are a few sounds that need to play very often. For instance, footsteps and card flips. I was able to use the random exit to pick from 4 footstep sounds, but this can still double up if there are a few characters on the screen and they happen to hit the same sound. The card flip sound is much worse because there can be 40 cards on the screen at once and it just sounds like a really loud buggy noise when they are moving.
The general recommended way to handle this is slightly randomizing the pitch and duration per sound but there isn't an option for this in Rive. I was hoping to keep all the sound in Rive but I may have to handle this in my own engine.
Expansion of the "Best practises" article
The "Best Practices" article in the docs section is very useful, but I would like to see if there are any more tips that can be described about using Rive's runtime. The advice about solos was already great, but I think users could benefit from being taught about what kind of effects & transformations are heavier and lighter in comparison to each other.
Is it possible to label certain effects, animations, practices or combination of such as "heavy" or "light"?