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.
Let us interact with colors through code
If you click on an asset in the "Artboard" tab, you can easily manipulate it's colors in the "Selected Colors" panel, I would love for these colors to be exposed in the exported .riv file, so you could easily change them with code. It seems like an easy feature to implement, and you could make some cool animations that respond to a color picker's input.
Right now, the only way I found to do this is to create RGB inputs for each color, which is annoying:
https://rive.app/community/files/11946-22775-color-adjustable-art/
Grids
I'm missing the grid functionality (fixed, responsive etc.).
I'd like to design in Rive but it looks like I'll have to keep using Figma for precision.
Find all timelines with keyframes of a given parameter
Frequently while working in Rive I will set a keyframe on a timeline but later realize I want to remove the keyframes from that parameter. To find this keyframe, I need to know which timeline it was keyed in, this gets hard the more timelines I have. It would be great if I could right-click on the keyframe icon on the parameter in the side panel and get a dependency tree of which timelines have keyframes for that parameter.
I run into this problem a lot when working with many layers. If several layers have timelines with keyframes on the same parameter, the top one blocks the ones below. I often have to hunt down and remove keyframes so only timelines on a single layer have keyframes on any given parameter.
Layer names should come through from Figma
For those of us who take the time to name groups / layers / shapes in Figma, it is a real bummer to have to do it AGAIN in Rive.
You've done a great job making the transition really simple conceptually by using similar mental models. This would be a huge plus for anyone who works across the platforms, or who works in an org animating the designs of UX designers that hand off Figma assets.
All posts made by me
There is no place where you can see all the posts you made on the forums. Please add such a feature.
"Hug" Scale Type for Image Layouts
You can swap out images at runtime, (https://x.com/rive_app/status/1875270155414204861) which is great! However this is only really feasible if the swapped images are the same size. Otherwise the swapped image can end up being too big or too small.
This could theorically be solved by using a nested artboard in Leaf mode inside a layout. This allows us to scale the contents (in this case an image) according to the size of the layout. This also works great until the image is replaced by one with a different resolution.
I think this could be solved by allowing the "Hug" scale type for Image Layouts. That way the layout adapts to whatever image is inside it based on the width and height. This in turn allows for the Artboard to use "Hug" mode so that you can have an artboard that is always the size of the image inside that artboard.
The end result would be that we would be able to swap out images in runtime which will always scale desirably, regardless of it's resolution!
Allow Listener to Set Input to an Existing Input
Instead of fixed numbers here, if we could set it to an existing input e.g. set Number 3 to Number 4 the no code interactions would basically be able to store and use variables.
Solo-like feature in layouts
I wish I could have a solo-like layer selector in a layout.
I do see the "Hide" feature that lets you hide it from the layout, basically toggling the opacity, however, I need to keframe every single layer that is shifting rather than it being handled by a single control like solo layers.
Blend State based on cursor position?
Hi there - I was wondering if anyone has figured out how to use a blend state based on cursor position
ie. if making an eye tracking animation when the cursor gets close to the eyes, the pupils get smaller. When the cursor moves away from the eyes the pupils get larger.
Please add an animation playstart offset 🙏
RIght now the solution to de-sync multiple instances of a looped animation is to change the playback speed of the animations to be slightly different so they desync over time.
This is not useful when you want the playback speed to be constant, or when you are using a state-machine. Having an option to allow an input to control a start-offset of a loop/idle animation within a state-machine would make it much easier to instance multiple versions on the screen without them appearing so synced up.
Would be usefule to have it as a % and as a frame offset maybe? %
Global library panel
Panel which contain interactive components, motion elements, state machine logics and user created animation elements. Like how framer do it. Both rive managed and User created.
Layouts need a build in include/exclude function
I have a panel tree structure which is very hard to make in Rive. The reason for this is that Rive does not support solos for layouts and it also cannot include/exclude items from the layout engine without using a very convoluted timeline structure which becomes increasingly difficult to maintain as the tree complexity grows.
Imagine overlapping panels. In a UI menu structure, there are only 3 panels. The panels each display different content depending which menu item is selected. The new layout show/hide function works for this, but it does not remove a panel from the layout engine. This causes the panels to be placed side by side instead of on top of each other. It is possible to use absolute positions to get around this, but that disables the automatic placement, the whole point of the layout engine.
A great feature would be to have a key "participate in layout". Yes, constraints can do something like that, but it is not intuitive to use, and requires a lot of manual work to handle all the different menu states, something which is not feasible.
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.