Skip to content
Back to Projects
FlashBack

FlashBack

Flash-style state machine for After Effects. A ScriptUI panel with Buttonify, state editor, triggers, and 5 animation behaviors (stop, loop, go-to-and-play, go-to-and-stop, snap).

After EffectsAnimationCreative ToolsScriptUI

The Problem

After Effects has no native concept of animation states. If you want a button with hover, press, and release states -- something trivial in Flash/Animate -- you're stuck manually managing pre-comps, time remapping expressions, and marker-based triggers. For interactive motion design (UI prototypes, game HUDs, interactive presentations), this gap costs hours of tedious setup per element.

What FlashBack Does

FlashBack brings Flash/Animate-style timeline state control to After Effects as a dockable ScriptUI panel. Select any layers, click Buttonify, and they're wrapped into a state composition with a managed timeline. Each state gets its own section of the timeline, and transitions between states are controlled by markers using a clean double-colon syntax: stateName::behavior::target.

The Five Behaviors

The system supports five animation behaviors that cover every common interactive pattern. Stop plays a state and holds on the last frame. Loop plays a state and loops continuously. Go-to-and-Play (gtap) jumps to a target state and plays it. Go-to-and-Stop (gtas) jumps to a target state and freezes on the first frame. Snap is a single-frame static state for instant asset swaps with no animation.

Built-In Presets

Two interaction presets ship with the tool. Touch provides in, idle, press, release, and out states for touchscreen interactions. Click extends this with hover and hoverOut states for mouse-based interactions. These presets create the full state machine structure with a single click.

Technical Details

The panel is written in ExtendScript (ES3) as a dockable ScriptUI panel -- meaning it runs inside After Effects' own scripting engine with zero external dependencies. It manipulates compositions, layers, markers, and time remapping through the AE DOM API. The expression builder dynamically reads source comp markers, so moving markers in the timeline automatically updates behavior. State management includes duplicate name validation, default state snapshots (new states auto-reset to baseline), and error recovery with descriptive alerts.

The trigger system scans the current composition, lets you pick any layer and state, and adds the appropriate marker with one click. Original layers are always preserved -- FlashBack duplicates into the state comp rather than moving.

Tech Stack

ExtendScript (ES3), After Effects ScriptUI API, AE DOM (CompItem, AVLayer, MarkerValue, TimeRemapProperty).