SpanZeto / Documentation / game juice Pro

Core Concepts - Game Juice Pro

Plugin v1.0 UE 5.3+ 6 min read Updated Feb 2026

Juice Preset

A Juice Preset is a Data Asset that groups a collection of configured feedbacks. It is the central element of the workflow: you create a preset, add feedbacks to it and then play it with the Play Juice node.

Presets are reusable: you can create a "Heavy Impact" preset and use it on any actor in the project.

Preset properties:

  • Preset Name: Descriptive name
  • Description: Effect description
  • Feedback Templates: Array with the feedbacks that compose the preset
  • Intensity Multiplier: Global intensity multiplier for the preset
  • Duration Multiplier: Global duration multiplier for the preset
  • Sequential: If true, feedbacks execute one after another instead of all at once
  • Sequence Delay: Delay between feedbacks when executing sequentially

To create a preset: Content Browser → Right-click → Game Juice Pro → Juice Preset.

Feedbacks

A Feedback is the minimum unit of effect. Each feedback represents a specific action: animate scale, play sound, apply camera shake, etc. They are added inside a preset in its Feedback Templates array.

All feedbacks share these base properties:

  • Active: Enable or disable the feedback without removing it
  • Chance (0-100): Execution probability. A value of 100 means it always executes.
  • Should Replicate: Whether this feedback replicates over the network in multiplayer
  • Channel Data: Communication channel (by index or Gameplay Tag)
  • Timing: Timing configuration (delays, repeats, cooldowns)
  • Randomness: Random variation in intensity and duration
  • Range Settings: Activation and attenuation based on distance

Check the Feedback Catalog for all 28 available types.

Play Juice Node

The Play Juice node is the main way to use Game Juice Pro. It is a custom Blueprint node that handles everything internally.

Input pins:

  • Target: The actor that will receive the preset effects
  • Preset: The Juice Preset to play
  • Intensity: Intensity multiplier (0 to 1)
  • Skip Replication: If enabled, the feedback only executes locally without replicating to other clients

Output pins:

  • Session ID: Unique identifier for this playback. Store it in a variable to stop this specific preset later using Stop Session on the Game Juice Component, without affecting other presets active on the same actor.

Dynamic pins: Depending on the feedbacks contained in your preset, the node may show additional pins automatically:

  • Look At Target: Appears if the preset contains a Look At feedback

Game Juice Component

The Game Juice Component is an optional component for advanced use. It is added to an Actor when you need additional control over playback: independent sessions, detailed network configuration, auto-play, etc.

Main properties:

  • Initialization Mode: When feedbacks are initialized (Script, BeginPlay or OnEnabled)
  • Auto Play On Start / On Enable: Automatically plays on start or when enabled
  • Direction: Playback direction (TopToBottom or BottomToTop)
  • Auto Change Direction On End: Alternates direction after each playback
  • Can Play While Already Playing: Allows simultaneous playbacks
  • Chance To Play: Global playback probability (0-100%)
  • Duration Multiplier: Scales the duration of all feedbacks
  • Feedbacks Intensity: Global intensity multiplier (0-1)
  • Initial Delay: Delay before starting playback
  • Cooldown Duration: Minimum time between playbacks
  • Replication Mode: Network replication mode (see Multiplayer)

Component events

  • OnPlay: Fires when playback starts
  • OnComplete: Fires when all feedbacks finish
  • OnPause / OnResume: Fires when pausing/resuming
  • OnDirectionChanged: Fires when playback direction changes

Sessions

Every time you play a preset (either with the Play Juice node or with Play Preset on the component), an independent session is created with its own state. This allows:

  • Execute multiple presets simultaneously on the same actor without conflicts
  • Stop sessions individually by their ID without affecting others
  • Each session works with cloned copies of the feedbacks, avoiding shared state

Both the Play Juice node and the component's PlayPreset function return a Session ID that you can store in a variable. Use that ID with Stop Session on the Game Juice Component to stop only that specific session.

Practical example: an interactable actor with a Rim Glow effect when in range. On overlap, play the preset and store the Session ID. On end overlap, stop only that session. Other active presets on the same actor (such as Spin or Bob) remain unaffected.

Execution modes

Feedbacks that modify properties over time (scale, zoom, lights, etc.) support three modes:

  • Instant: Applies the value immediately, without interpolation.
  • OverTime: Interpolates the value using an animation curve over a configurable duration. This is the most used mode for creating smooth effects.
  • ToDestination: Linearly interpolates from the current value to a target value.

In OverTime mode, you can configure the animation curve, value remapping and whether values are relative to the current state or absolute.

Timing

Each feedback has its own timing configuration:

  • Timescale Mode: Scaled (respects slow-motion) or Unscaled (real time)
  • Initial Delay: Delay before starting execution
  • Random Initial Delay: Additional random delay (final delay = Initial Delay + Random(0, value)). Useful for desyncing multiple instances of the same preset (e.g.: many floating pickups).
  • Cooldown Duration: Minimum time between executions
  • Number Of Repeats: How many times it repeats (0 = no repetition)
  • Repeat Forever: Repeats indefinitely until manually stopped
  • Delay Between Repeats: Pause between each repetition
  • Limit Play Count: Limits the total number of plays
  • Direction Condition: Execute only forward, only backward, or always
  • Intensity Interval: Only executes if intensity is within the defined range

Need help?

For questions or suggestions, join our Discord.