Overview
Getting started
Backflit is a small attempt to save ourselves time and maybe save you some too.
After working on a few projects built with Rive, we started to notice a familiar pattern. As projects evolved, we often found ourselves recreating similar UI interactions for different games. The visuals and context changed each time, but the underlying behavior stayed largely the same.
So instead of starting from scratch every time, we decided to formalize how we build these components and share the result in case it is useful to others.
Philosophy and principles
The assumptions and tradeoffs behind how Backflit is structured.
How to use Backflit
How to take these files and adapt them for your own UI.
Why share this?
We think Rive is in a pretty unique position for building game UI.
It naturally encourages a clean separation between visuals and data, it works across multiple engines, and the .riv file format itself is open source. That combination makes it possible to standardize how UI behaves without dictating how it looks or where it runs.
Backflit is our attempt to lean into that.
If sharing these files makes it easier to get started with Rive or gives others a useful reference to build from, then we're glad to contribute.
What Backflit is and is not
Backflit is not a component library you drop into your project.
There is no runtime, no package to install, and no expectation that you will use these components unchanged.
Instead, Backflit is:
- A set of Rive files that demonstrate how common game UI components can be structured
- Documentation that explains why those files are set up the way they are
- A starting point for building your own component library
We intentionally do not focus on styling. The idea is that you can swap in your own visuals without needing to rewrite the underlying logic. Over time, your components will probably drift away from Backflit to better fit your game. That is expected and encouraged.
Backflit exists to help you get moving faster, not to lock you into a system. Take what works for your project. Ignore what does not. Simplify where you need to.
