SpanZeto / Documentation / game juice Pro

Advanced Configuration - Game Juice Pro

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

Advanced timing

Each feedback has an independent timing configuration that allows granular control over when and how many times it executes.

Timescale Mode

  • Scaled (Game Time): The feedback respects time dilation. If the game is in slow-motion, the feedback also slows down.
  • Unscaled (Real Time): The feedback uses real time, ignoring any Time Dilation. Ideal for UI feedbacks or effects that must maintain their speed.

Repetitions

  • Number Of Repeats: How many times it repeats after the first execution (0 = only once)
  • Repeat Forever: Repeats indefinitely until Stop is called
  • Delay Between Repeats: Pause between each repetition
  • Limit Play Count / Max Play Count: Limits the total number of plays per session
  • Reset Play Count On Reset: Resets the counter when Reset is called

Direction conditions

  • Always: Executes regardless of direction
  • OnlyWhenForwards: Only when direction is TopToBottom
  • OnlyWhenBackwards: Only when direction is BottomToTop

Additional options

  • Exclude From Holding Pauses: This feedback does not participate in holding pauses
  • Contribute To Total Duration: Counts towards the component's total duration
  • Interrupts On Stop: Immediately interrupts when Stop is called

Intensity and ranges

The final intensity of a feedback is determined by several cascading multipliers:

  1. Component intensity — FeedbacksIntensity from the GameJuiceComponent (if used)
  2. Preset intensity — IntensityMultiplier from the Juice Preset
  3. Call intensity — The Intensity pin value on the Play Juice node
  4. Distance intensity — Based on Range Settings

Range Settings

Allow controlling activation and intensity based on distance:

  • Use Range: Enables the range system
  • Range Distance: Maximum activation distance (default 500)
  • Use Range Falloff: Attenuates intensity with distance
  • Range Falloff Curve: Attenuation curve
  • Remap Falloff: Curve range remapping

Intensity Interval

Allows a feedback to only activate within a specific intensity range:

  • Use Intensity Interval: Enables the restriction
  • Intensity Interval Min / Max: Valid intensity range

Example: A feedback with interval 0.7-1.0 only activates on strong impacts, while another with 0.0-0.3 only responds to light impacts.

Randomness

The randomness system adds automatic variation to avoid repetitive effects.

  • Randomize Intensity: Multiplies intensity by a random value within the configured range
  • Intensity Multiplier Range: Random intensity multiplier range
  • Randomize Duration: Varies duration within a range
  • Duration Multiplier Range: Random duration multiplier range
  • Chance (0-100): Execution probability. A value of 80 means it won't activate 20% of the time.

Combining these three settings produces organic results, especially for effects that trigger frequently like footsteps, gunshots or ambient particles.

Communication channels

Channels allow organizing and filtering feedbacks.

  • Channel by index (int): Simple numeric identifier (default 0)
  • Channel by Gameplay Tag: By enabling Use Gameplay Tag, you can use Unreal's Gameplay Tags system for hierarchical organization

Example: tag feedbacks as "Feedback.Combat" and "Feedback.UI" to control groups from code.

Curves and springs

Runtime Float Curves

OverTime mode feedbacks use animation curves editable in the details panel.

  • Remap (Zero/One): Remaps curve output (0-1) to a custom range. For example, RemapZero=1.0 and RemapOne=1.5 would make scale go from 1.0 to 1.5.
  • Relative Values: Curve values are added to the current value instead of replacing it
  • Allow Additive Plays: Allows stacking multiple playbacks of the same feedback

Spring Curves (Damped spring)

Feedbacks like SquashStretch use a damped harmonic oscillator. The parameters are:

  • Amplitude: Initial movement intensity (default 0.3)
  • Frequency: Oscillation speed in Hz (default 4.0)
  • Damping: Damping speed, 0=no damping, 1=critical (default 0.25)
  • Duration: Total simulation duration (default 0.8s)
  • Randomize Amplitude: Random amplitude variation

Scale management

Game Juice Pro includes a Scale Modifiers system to correctly manage scale feedbacks when multiple sources modify the same actor's scale. This prevents issues like "accumulating scale" with several simultaneous scale punches.

If you intentionally change an actor's base scale (e.g., growing a character), call Refresh Base Scale on the Game Juice Component so the plugin recaptures the new base value.

Need help?

For questions or suggestions, join our Discord.