Runtimes: play interactive animations on every platform
One runtime written in Rust, with bindings for each platform you build for. Every one plays the same .egg file and has the same calls for inputs, data and events.
WebA WebAssembly runtime and a small helper mount an .egg file on a canvas. It sizes the canvas, runs the frame loop and forwards pointer, wheel, keyboard, gamepad and text input.ReactThe web runtime package includes an EggPlayer component. Give it the file and the state machine, and get the view back to set inputs and data from your components.iOS and macOS (Swift)The Swift package wraps the runtime in EggPlayer and draws it in a SwiftUI EggView, with a Metal-backed view for the GPU and an audio helper for sound events.Android (Kotlin)The Kotlin runtime wraps the native library for Android (arm64-v8a and x86_64) and the desktop JVM. Load a file, start its state machine, advance it each frame and render it.FlutterTwo Dart packages: egg_runtime talks to the native runtime, and egg_player gives you an EggPlayer widget that advances it every frame, draws it and sends it pointer input.UnityA Unity package with EggPlayer, a component that plays an .egg into a texture on a RawImage or the object's Renderer and forwards UI pointer events to its state machine.Unreal EngineThe EggRuntime plugin adds EggAnimation, a Blueprint type that loads an .egg, plays animations and state machines, takes inputs and pointer events, and draws into a texture for a widget or a material.
Try it on a template.
Every template opens in the editor so you can see how it is made.