You wrote a coroutine to make a health bar catch up to its value. Then another to bob a pickup. Then one to kick the camera on a hit. A year in you have forty of them, and tuning any single one means opening a script.
This is logic based animation rather than keyframe animation, and the difference shows in what you no longer need. There is no need for weighted blends or crossfades, because those only exist to reconcile baked keyframe clips. When motion is generated from logic, the way JuiceBox does it, you change an effect's speed instead. Animation stays parametric and reactive, driven by your game's values at runtime, not by replaying a recording.
Unity has no built-in answer for any of it. UI motion, camera moves, object feedback, pickups, hit reactions, environmental motion, transform and material changes, and procedural effects all end up as bespoke code.
This is not a character animation tool. Unity ships Animator, Timeline and clips for rigs and humanoids. If you need blend trees, locomotion or humanoid retargeting, you want a different package.
JuiceBox drives UI the same way it drives anything else. Wire a sequence onto a RectTransform, a CanvasGroup, UI Builder, an Image and you get panel animation, menu transitions, or popup animation without writing a coroutine. UI bounce and UI spring come from the same tween and swing effects that move a character, so a button press can overshoot and settle. A tooltip animation can fade in and drift. A notification animation slides in from the edge, holds, and slides back out when the sequence finishes.
The rest of the UI juice is here too. Health bar animation that lags the real value and catches up. Damage numbers that pop and float. Screen shake on a hit. All of it lives on the graph, so a designer retunes the UI feedback without touching code (unless they want to), and one sequence works on a HUD element, a menu, or a world-space object.
UI Toolkit, driven from the same graph. JuiceBox animates UIElements directly: pick a VisualElement by its UXML name and bind an effect to it. Opacity, width and height, left, top, right and bottom, translate, scale and rotate, margin, padding, border width and border radius, font size, and every colour channel (background, text, border, background image tint and text shadow) are animatable, as are ScrollView scroll offset, Slider value and ProgressBar value. No UIToolkit USS transitions to author, no per-element code. The element is addressed by its name attribute in UXML, and JuiceBox reads the UIDocument on the animation's own GameObject.
Create tweens, follows, shakes, swings and waits, loop them, insert delays, and chain it all into responsive animation sequences. Animate GameObjects without building Animator state machines, Timeline tracks, animation clips, or custom lerps for every motion case.
JuiceBox PRO is the foundation the rest of the system is built on. The graph editor, the effect families, the sequence format and the runtime all live here. The editions that extend JuiceBox into other parts of Unity build on this core rather than replacing it, so the workflow you learn and the sequences you author are not tied to one package. You are buying into a platform, not a single tool.
More than a tweening library. Tweens are great for simple start-to-end motion, but games often need motion that follows moving targets, reacts to changing values, blends with other effects, pauses, reverses, waits for signals, combines multiple outputs at runtime, or needs custom easing curves rather than the standard easings.. JuiceBox gives you a complete visual workflow for that kind of motion.
Read another way, a JuiceBox sequence works like an animation state machine. Each effect (a tween, a follow, a swing, a shake, a wait) is a state in that state machine, and the sequence transitions to the next when it completes. Conditions decide which transition fires, so graphs can branch or run concurrently. A combiner node blends two effects into a single output, so animation blending is wired into the graph rather than written in code. A finished sequence can start another, so sequences nest. Nested sequences give you a state graph assembled from smaller graphs rather than one large one. It is a finite state machine for motion.
The pro version extends the free version with the tools you need when animations stop being simple and start being systems. The free version covers the fundamentals: tweens, follows, shakes, and chaining them in a visual graph. Pro is for when your animations need to react to gameplay, share state across sequences, and be combined into anything you can imagine.
JuiceBox Pro adds the tools needed when you want to step up your game from "animated" to "adding life to anything." Advanced control nodes, live parameter bindings, shared graph definitions, output combiners, cross-sequence values, edit-mode preview, callbacks, and sequence signals. Sequences can be played, stopped, or made to await a running instance, and every run returns a handle your own scripts can hold.
JuiceBox Pro is built for developers who want more than scattered tweens and one-off scripts. It gives you a reusable visual animation workflow for GameObjects, UI, cameras, effects, and gameplay-driven motion for when your game needs responsive, dynamic motion that reacts to what's happening and you don't want to build a bunch of clunky one-off code to get it.
JuiceBox ships with More Effective Coroutines - free. If you have MEC Pro just re-import it after importing this package (or uncheck the MEC folder.)
JuiceBox and all demo scenes are tested and work with all modern versions up to Unity 6.7 and render pipelines without needing to import extra packages.
Links: