Join the Discord

Unity tools by Magic Pig Games

Juicy Actions

Game feel and game logic from reusable actions, with or without code.

Juicy Actions is a Unity asset by Magic Pig Games that adds game feel (juice) and game logic without code. You chain reusable actions such as screen shake, hit flashes, tweens, sounds, particles and slow motion into sequences, then trigger them from events or code.

Version 1.1.4 · updated September 18, 2026 · Unity 6.0 or newer

What Juicy Actions does

  • Hundreds of built-in actions

    About 350 ready-made actions cover transforms and springs, shakes, camera and Cinemachine, audio, particles, materials, sprites, lighting, URP post-processing, UI, TextMeshPro, animation, physics, NavMesh, scenes and flow control. Each one is a ScriptableObject asset you create from the Create > Juicy Actions menu and tune in the inspector.

  • Sequences, groups and loops

    An ActionExecutor runs a list of actions one after another. Groups run items together, race them, time-box them or loop them, and any item can have a chance to run or a condition to check first.

  • Trigger components, no script needed

    ActionRunner plays a list on Start and can repeat it. ActionOnCollision, ActionOnTrigger, ActionOnTap, ActionOnHover, ActionOnKey, ActionOnInput and other components fire sequences from Unity events.

  • One line from your own code

    Add a public ActionExecutor field to any MonoBehaviour and call Execute(this). SetFieldOverride passes per-call values, such as damage or a destination, without changing the action asset.

  • Blackboard, time control, deterministic random

    Actions share data and events through a typed Blackboard, run on a clock that can pause and scale them separately from Unity's time, and draw from a seedable random source, so a run can be reproduced.

  • Write your own actions

    Inherit from InstantAction, ActionOverTime, ActionOverTimeWithBaseValues or a SpringAction base and override ExecuteInternal(). The Action Validator window flags common mistakes in custom actions.

  • Free integrations with popular assets

    Integration packages add actions and events for DOTween, Feel, PlayMaker, Dialogue System for Unity, Game Creator 2, Behavior Designer Pro, Ultimate Character Controller and the All in 1 shaders, plus our Game Modules 4, Magic Time and Projectile Factory.

  • AI skills for coding assistants

    Bundled skills let Claude Code, Codex and other AI assistants build sequences, set action values, add executors to your classes and write new actions, with or without Unity's MCP bridge.

Works with AI coding assistants

Juicy Actions comes with skills for AI coding assistants such as Claude Code and Codex. Once they're installed, your assistant knows how Juicy Actionsworks, so you can ask for what you want in plain English:

  • “Shake the camera and flash the enemy red when it takes a hit.”
  • “Make this button pop and play a click when it's pressed.”
  • “Write an action that damages whatever it collides with.”
  • “Add hitstop on impact.”
  • “Add an ActionExecutor to my Enemy script and fire it from TakeDamage.”

How it works

Juicy Actions has three parts.

  1. Actions are ScriptableObject assets that each do one job: move a transform, spring a scale, shake the camera, flash a renderer, play a sound, emit particles, wait, or load a scene. You create them from the Create > Juicy Actions menu and tune them in the inspector.
  2. An ActionExecutor runs an ordered list of actions. It is a serializable field, not a component, so it can live on any MonoBehaviour. Items run one after another; a group runs its items together, races them, time-boxes them or loops them.
  3. ActionRunner and the Action on Event components hold executors for you and fire them on Start, collisions, triggers, taps, hovers, key presses and other events.

From your own code, firing a sequence takes one line:

public ActionExecutor onHitActions;

public void TakeDamage(float amount)
{
    onHitActions.Execute(this); // this component becomes the target
}

Each run uses fresh copies of the actions, so your assets never change at runtime. Fields marked [CanOverride] can be overridden per item in the inspector, or from code with SetFieldOverride just before Execute. One asset can then serve different damage values, colors or destinations.

Actions read time from the executor’s clock: the Juicy Actions clock (which can pause and scale actions without touching Unity’s time), Unity time, or unscaled time for pause menus. They share data through a typed Blackboard, where trigger components also publish what they hit, and draw random numbers from a seedable, deterministic source.

Calling Execute while a sequence is still running restarts it: the executor bumps a run key, in-flight actions stop cleanly, and the list plays again. Turn off CanRestart or set a cooldown when repeated triggers should wait instead.

Writing your own actions

When nothing in the catalog fits, write a small C# class. Inherit from InstantAction for one-frame work, ActionOverTime for effects with a duration and curve, ActionOverTimeWithBaseValues for effects that return to the original value, a SpringAction base for bouncy motion, or ActionWithForceTimeUntilNextAction to hold the sequence until something happens. Override ExecuteInternal() and use Executor.Clock and Executor.Random instead of Unity’s Time and Random, so your action follows pause and time scale and stays deterministic. The Action Validator window (Tools > Juicy Actions > Action Validation) flags common mistakes.

Integrations

Free integration packages connect Juicy Actions to other assets: install Juicy Actions and the other asset, then the integration. With Magic Time, executors on Magic Time objects follow that object’s local time scale automatically. With Projectile Factory, components fire sequences on projectile launch, collision and other events, and actions can launch or redirect projectiles. With Game Modules 4, actions change stats, items and conditions, and Game Modules blackboard events can start sequences. Others cover DOTween, Feel, PlayMaker, Dialogue System for Unity, Game Creator 2, Behavior Designer Pro, Ultimate Character Controller, All in 1 3D-Shader and All in 1 Sprite Shader. The documentation explains what each one adds.

More videos

Questions about Juicy Actions

Do I need to know C# to use Juicy Actions?

No. You can build a sequence in the inspector by dragging action assets into an executor, then fire it with a ready-made component such as ActionRunner, ActionOnTap or ActionOnCollision. If you do write code, add an ActionExecutor field to your class and call Execute(this).

Which Unity versions does Juicy Actions support?

Juicy Actions is built for Unity 6. The Asset Store lists Unity 6000.0.71, 6000.3.11 and 6000.5.8 as supported versions.

Is Juicy Actions only for visual effects?

No. Besides game feel, actions can wait, hold a sequence until conditions are met, stop it, set Blackboard values, send events, load scenes, save PlayerPrefs, spawn and pool objects, and drive Animators, rigidbodies and NavMesh agents.

Can Juicy Actions do slow motion and hitstop?

Yes. SetTimescaleAction animates the time scale for slow motion or a brief hitstop, and PauseTimeAction pauses time. With the Magic Time integration, executors on Magic Time objects also follow that object's own local time scale.

What happens if a sequence is triggered again while it is still playing?

If the executor's CanRestart option is on, the running actions stop cleanly and the sequence plays again from the start. Turn it off, or set a cooldown, to ignore new triggers until the executor is ready.

Does Juicy Actions work with DOTween and Feel?

Yes, through free integration packages. The DOTween integration adds about 60 tween actions and works with the free version of DOTween, and the Feel integration adds actions that drive Feel plus components that let Feel and Juicy Actions trigger each other.

How do I install the Juicy Actions AI skills?

For Claude Code or Cowork, run bash "Assets/Magic Pig Games (Infinity PBR)/Juicy Actions/Claude Skill/install.sh" in your project. For Codex, copy the juicy-actions folder from that Claude Skill folder into .agents/skills in your project. Ask "What can you do with Juicy Actions?" to confirm the skill is active. The skills work with or without Unity's MCP bridge.