Interactive animation editor

Draw it. Animate it.
Make it react.

Ova Motion is one place to design vector art, animate it on a timeline and wire it to a state machine, then ship a single small file that plays in websites, apps and games.

Runs in your browser. Desktop app for macOS, Windows and Linux. Works offline.

hatch.egg · 86 KB
Loading the live animation…
Live: this is the exported file, playing in the Ova Motion web runtime.How it works
Three modes, one file

The editor has a mode for each step of the job.

Switch at the top of the window or with 1 2 3. Nothing is exported between them: a change in Design is already in your animations and logic.

The Hatch scene in Design mode: layers, canvas and inspector

Design

Pen, shapes, booleans, text, gradients, shadows and glows. Frames with auto layout, components you reuse, smart guides as you drag.

The hatching animation on the timeline, the shell flying off

Animate

Key any property on a timeline. Ease with curves, elastic and bounce, trim paths, rig with bones and bend pictures with meshes.

The state machine of the Hatch scene: egg, excited, hatching, chick and chirp states

Logic

State machines with inputs, layers and pointer listeners make it react to hovers, clicks and your app's data.

Inside the editor

Everything a moving interface needs.

Bones and meshes

Rig characters, skin them to a skeleton, solve limbs with IK and bend pictures with a mesh.

View models

Bind text, colors, numbers and lists to data your app sets while it runs.

Auto layout

Rows, columns and grids that resize with the screen they play on.

Scripts

Write Luau for the behavior a state machine cannot express on its own.

Edit together

Invite people by email and see their cursors and edits as they make them.

Works offline

Projects are saved on your device first and sync when you are back online.

Bring your files

Open .riv, SVG and PSD files. Drop in pictures, fonts and sounds.

Works with AI agents

An MCP server lets Claude, Codex and other agents build and edit scenes.

The Ova Motion editor with the Hatch scene open
Ship it

One .egg file. Every platform you build for.

Export a compact binary and play it with the open-source runtime, from a web page to a game engine. Set state machine inputs and view model values from your code.

Web wasmiOS, macOS SwiftAndroid KotlinFlutter DartUnity C#Unreal C++Anything else C API
index.htmlweb runtime
import init, * as egg from "./egg_web.js";
import { mount } from "./egg-player.js";

await init();
const res = await fetch("hatch.egg");
const bytes = new Uint8Array(await res.arrayBuffer());
const view = mount(egg, canvas, bytes, { machine: "hatch" });

// drive it from your app
view.player.fire("tap");
The Ova Motion cloud window: a live project, invitations and a share link
Ova Motion cloud

Your projects on every device, and live with your team.

  • Sign in with a codeNo password. We email you a 6-digit code.
  • Invite to edit or to viewSee who is in the project and what they have selected.
  • Share a linkAnyone can play your animation in a browser, no account needed.

Start with an egg.
Ship an interface.

Open the editor now. More than twenty samples show how each part works.