Juicee

July 12, 2026 · View on GitHub

All 99 effects organized by category. Every @export parameter is documented. For base-class params (chance, delay, intensity_min/max, cooldown) see api-reference.md.

Accessibility tags are noted where relevant — see JuiceeAccessibility in api-reference.md.


Screen (18 effects)

Screen effects render on a CanvasLayer above everything else. Shader-based effects use SCREEN_TEXTURE and require Forward Plus or Mobile renderer. The Compatibility renderer does not support hint_screen_texture.

Editor preview note: In the Inspector ▶ Preview and JuiceeGraph ▶ Test flows, screen effects render inside the editor's preview viewport (smaller than the window). An amber outline marks the preview area. Run the project (F5/F6) for true full-screen rendering.


JuiceeChromaticEffect

RGB channel split full-screen. Splits the screen into R, G, B samples offset by intensity pixels in opposite directions. Classic damage hit / glitch vibe.

PropertyTypeDefaultDescription
intensityfloat5.0Max pixel offset per channel. Higher = more extreme split.
durationfloat0.2Total effect time in seconds.
fade_outbooltrueFade the effect out over the last 50% of duration.

Accessibility tag: TAG_CHROMATIC
Shader: addons/juicee/shaders/chromatic.gdshader


JuiceeVignetteEffect

Edge-darkening overlay with color tint. Useful for damage indicators, atmospheric mood, horror tunnels.

PropertyTypeDefaultDescription
intensityfloat0.6Vignette strength (0–1). 1.0 = full black edges.
durationfloat0.8Duration in seconds.
fade_outbooltrueFade out at the end. Set to false for persistent vignette.
vignette_colorColorColor.BLACKTint color of the vignette — try Color(0.6,0,0,1) for a red damage vignette.

Shader: addons/juicee/shaders/vignette.gdshader


JuiceeBlurEffect

Full-screen Gaussian blur. Use for pause menus, dream sequences, or death overlays.

PropertyTypeDefaultDescription
blur_amountfloat4.0Blur radius in pixels.
durationfloat0.6Duration in seconds.
fade_outbooltrueFade blur to zero at the end. false = stays blurred.

Shader: addons/juicee/shaders/blur.gdshader


JuiceePixelateEffect

Full-screen pixelation. Retro hit flashes, damage moments, glitch sequences.

PropertyTypeDefaultDescription
pixel_sizefloat8.0Pixel size in screen pixels.
durationfloat0.5Duration in seconds.
fade_outbooltrueSmooth pixel_size back to 1 at the end.

Shader: addons/juicee/shaders/pixelate.gdshader


JuiceeGlitchEffect

Horizontal screen tear with chromatic split. Hacking aesthetic, broken systems, damage states.

PropertyTypeDefaultDescription
strengthfloat0.5Tear intensity (0–1).
intensityfloat5.0Chromatic split width in pixels.
durationfloat0.3Duration in seconds.
fade_outbooltrueFade out at the end.

Accessibility tag: TAG_CHROMATIC
Shader: addons/juicee/shaders/glitch.gdshader


JuiceeColorGradeEffect

Saturation / contrast / brightness / tint shift on the full screen. Desaturate on damage, boost on level-up, go green for night vision.

PropertyTypeDefaultDescription
saturationfloat0.5Target saturation (0=gray, 1=original, >1=hyper-saturated).
contrastfloat1.2Target contrast multiplier.
brightnessfloat1.0Target brightness multiplier.
tintColorColor.WHITEMultiplicative color tint.
durationfloat0.8Duration.
fade_outbooltrueRestore all values at the end.

Accessibility tag: TAG_CHROMATIC
Shader: addons/juicee/shaders/color_grade.gdshader


JuiceeScreenTintEffect

Solid colored full-screen overlay (RGBA ColorRect on a CanvasLayer). Fastest screen effect — no shader needed. Red flash for damage, gold for level-up, white for explosion.

PropertyTypeDefaultDescription
tint_colorColorColor(1,0,0,0.35)Overlay color. Alpha controls opacity.
durationfloat0.4Duration.
fade_outbooltrueFade alpha to 0 at the end.

Accessibility tag: TAG_FLASH
No shader — solid ColorRect overlay.


JuiceeScreenWipeEffect

Colored bar slides across the screen. Use for scene transitions.

PropertyTypeDefaultDescription
wipe_fromint0Edge the bar enters from: 0=left, 1=right, 2=top, 3=bottom.
wipe_colorColorColor.BLACKWipe bar color.
durationfloat0.6Duration of the slide.

JuiceeBloomEffect

Pulses the active WorldEnvironment glow parameters. No custom shader — animates Godot's built-in post-process. Zero performance overhead. Works in 2D and 3D.

PropertyTypeDefaultDescription
intensity_boostfloat1.5How much to add to glow_intensity at the peak.
durationfloat0.6Duration.
strength_boostfloat0.5How much to add to glow_strength at peak.

Requires a WorldEnvironment node in the scene with glow enabled.


JuiceeTonemapEffect

Punches the active WorldEnvironment tonemap exposure. Flash-blindness from explosions, teleport arrivals, dimension shifts.

PropertyTypeDefaultDescription
exposure_boostfloat3.0Target tonemap_exposure value. Default 1.0 = no change.
durationfloat0.4Duration.
white_boostfloat0.0Added to tonemap_white at peak.

Requires a WorldEnvironment node.


JuiceeShockwaveEffect

Expanding radial distortion ring originating from the context node's screen position. The ring travels outward; UV distortion strength fades as the ring expands.

PropertyTypeDefaultDescription
max_radiusfloat0.6Max ring radius in normalized screen units (0–1).
strengthfloat0.025UV displacement strength at the wave front.
wave_widthfloat0.15Width of the distortion band (normalized).
durationfloat0.5Duration.

Shader: addons/juicee/shaders/shockwave.gdshader


JuiceeCinematicBarsEffect

Letterbox bars slide in from the top and bottom edges. Hold for hold_duration seconds, then slide back out. hold_duration = 0 holds indefinitely — call stop() on the returned effect to slide out.

PropertyTypeDefaultDescription
bar_colorColorColor.BLACKBar color.
bar_heightfloat0.1Bar height as a fraction of screen height (0.1 = 10% top + 10% bottom).
enter_durationfloat0.3Slide-in time.
hold_durationfloat2.0Hold time. 0 = hold until stop().
exit_durationfloat0.3Slide-out time.
canvas_layerint200Z-order of the CanvasLayer.
# Hold indefinitely until the cutscene ends:
var bars := Juicee.cinematic_bars(self, 0.1, 0.3, 0.0, 0.3)
await cutscene_finished
bars.stop()  # triggers the slide-out

JuiceeScanLinesEffect

CRT scanline overlay with optional scroll. Retro monitors, broken screens, hacker aesthetic.

PropertyTypeDefaultDescription
line_countfloat300.0Number of horizontal scanlines (50–1000).
strengthfloat0.25Darkening strength per dark line (0–1).
scroll_speedfloat0.0Lines scroll down at this speed (0 = static).
durationfloat1.0Duration.
fade_outbooltrueFade effect out at the end.

Shader: addons/juicee/shaders/scanlines.gdshader


JuiceeSpeedLinesEffect

Anime radial speed-lines overlay — streaks converging on the screen centre. Dashes, bursts of speed, focus and shock moments. (New in 1.2.0.)

PropertyTypeDefaultDescription
densityfloat140.0Angular streak count (20–400). Higher = more, thinner lines.
strengthfloat0.5Peak streak opacity (0–1).
center_clearfloat0.35Radius (0–0.9) of the clear centre with no lines over the focal point.
line_colorColorColor.WHITEStreak colour. White = speed, black = shock/focus.
anim_speedfloat6.0Streak shimmer rate (0 = static).
durationfloat0.4Duration.
fade_outbooltrueFade effect out at the end.

Shader: addons/juicee/shaders/speed_lines.gdshader


JuiceeFilmGrainEffect

Analog film grain noise overlay. Grain is quantized to speed FPS for authentic flutter rather than per-frame smooth noise.

PropertyTypeDefaultDescription
strengthfloat0.12Noise amplitude. 0.05 = subtle, 0.3 = heavy grain.
speedfloat30.0Grain refresh rate in FPS. 24.0 = classic film.
durationfloat1.0Duration.
fade_outbooltrueFade out.

Shader: addons/juicee/shaders/film_grain.gdshader


JuiceeRadialBlurEffect

Radial motion blur from a screen point. N-sample accumulation toward the center point.

PropertyTypeDefaultDescription
strengthfloat0.015Per-sample UV offset.
samplesint12Sample count. More = smoother, heavier cost.
durationfloat0.4Duration.
center_uvVector2Vector2(0.5, 0.5)Blur center in normalized UV space.
use_node_positionboolfalseDerive center_uv from the context node's screen position at apply time.
fade_outbooltrueFade out.

Shader: addons/juicee/shaders/radial_blur.gdshader


JuiceeLensDistortionEffect

Barrel or pincushion lens distortion over the full screen. strength > 0 warps outward (barrel / fisheye); strength < 0 warps inward (pincushion / zoom lens). Pixels that map outside [0,1] UV are filled with black. Scope zoom, warp portals, dimensional rifts, drunk/dazed state.

Accessibility tag: TAG_SCREENSHAKE

PropertyTypeDefaultDescription
strengthfloat0.25Distortion magnitude. Range −1.0 to 1.0.
durationfloat0.5Effect duration in seconds.
fade_outbooltrueFade strength to 0 at end.

Shader: addons/juicee/shaders/lens_distortion.gdshader


JuiceeDepthOfFieldEffect

Drives CameraAttributesPractical on a Camera3D for native engine DOF blur. Animates through three phases: fade-in (15%), hold (70%), fade-out (15%). Far and near blur are independently toggleable. Focus-pull cinematics, sniper scope, cinematic cutscene transitions.

Dimensions: 3D only

PropertyTypeDefaultDescription
camera_pathNodePath""Path to Camera3D. Empty = search context and its parent.
blur_farbooltrueEnable far-plane blur.
blur_nearboolfalseEnable near-plane blur.
far_distancefloat10.0Far blur start distance (metres).
far_transitionfloat5.0Far blur transition band (metres).
near_distancefloat2.0Near blur start distance (metres).
near_transitionfloat1.0Near blur transition band (metres).
durationfloat1.0Total duration.
fade_outbooltrueRestore original camera attributes at end.

Camera (9 effects)

Camera effects target the active Camera2D found via context.get_viewport().get_camera_2d() or the active Camera3D. They use JuiceeStateStack to safely stack.


JuiceeShakeEffect

Perlin noise or random jitter on Camera2D.offset. The definitive game-feel effect.

PropertyTypeDefaultDescription
intensityfloat8.0Max displacement in pixels.
durationfloat0.3Duration.
frequencyfloat15.0Oscillations per second.
decayfloat0.8How fast amplitude decays. 0 = constant, 5 = very fast.
use_noisebooltruePerlin noise (smooth) vs. random jitter (chaotic).
roll_degreesfloat0.0Max camera roll layered on the positional shake; a touch of rotation reads much more violent. 0 = position only.

Runtime params: {"hit_direction": Vector2} — biases the shake away from the hit direction for a recoil feel.
Accessibility tag: TAG_SCREENSHAKE


JuiceeShake3DEffect

Camera3D shake via offset on each axis. Independent per-axis scale for horizontal-only, vertical-only, or full 3D shake.

PropertyTypeDefaultDescription
intensityfloat0.1Max displacement per axis.
durationfloat0.3Duration.
frequencyfloat15.0Oscillations per second.
axis_scaleVector3Vector3(1,1,0)Per-axis intensity multiplier. Set Y=0 for horizontal-only.

Accessibility tag: TAG_SCREENSHAKE


JuiceeZoomEffect

Camera2D zoom punch in or out with overshoot and return.

PropertyTypeDefaultDescription
zoom_factorfloat1.2Target zoom multiplier. 1.2 = 20% zoom in. 0.8 = zoom out.
durationfloat0.4Duration of the full punch + return.
overshootfloat0.1Tween overshoot (uses TRANS_SPRING).

JuiceeFOV3DEffect

Camera3D field-of-view punch. Positive delta = zoom out (wider FOV), negative = zoom in.

PropertyTypeDefaultDescription
fov_deltafloat15.0Degrees added to current FOV at peak.
durationfloat0.4Duration.

JuiceeCameraFollowEffect

Smoothly lerps Camera2D to track a target Node2D for duration seconds, then returns to the original position.

PropertyTypeDefaultDescription
target_node_pathNodePath""Target to follow. If empty, context IS the target.
follow_speedfloat5.0Lerp speed toward the target (per second).
durationfloat1.5How long to follow before returning.
return_speedfloat3.0Lerp speed when returning.

JuiceeDirectionalShakeEffect

Kick-recoil shake with directional bias plus perpendicular noise. The camera "snaps" in the kick direction, then oscillates back. Use for gun fire, directional punch impacts, explosion knockback.

PropertyTypeDefaultDescription
directionVector2Vector2(0,-1)Kick direction. Gets normalized.
kick_distancefloat12.0Max displacement of the initial kick in pixels.
durationfloat0.35Total duration.
frequencyfloat18.0Oscillation frequency after the kick.
perp_noisefloat0.3Perpendicular noise scale (0 = pure directional).

Runtime params: {"direction": Vector2} — override direction per-shot.
Accessibility tag: TAG_SCREENSHAKE


JuiceeCameraBobEffect

Rhythmic sine-wave bob on Camera2D.offset. Uses a sin(t * PI) envelope for smooth ramp-in and ramp-out. Walk cycle, breathing idle, post-impact sway.

PropertyTypeDefaultDescription
amplitudeVector2Vector2(0,3)Bob amplitude per axis in pixels.
frequencyfloat2.0Bobs per second.
durationfloat2.0Duration.
phase_offsetfloat0.0Phase offset in radians — offset multiple simultaneous bobs.

Accessibility tag: TAG_SCREENSHAKE


JuiceeZoomPulseEffect

BPM-synced Camera2D zoom pulse. On each beat interval the camera zooms in by zoom_boost, then decays back via EASE_OUT. Use for beat-drops, bass-heavy music, rhythm-game feedback.

PropertyTypeDefaultDescription
bpmfloat120.0Beats per minute for standalone mode.
zoom_boostfloat0.08Zoom multiplier added per beat. 0.08 = 8% zoom in per beat.
durationfloat4.0Total duration.
clock_pathNodePath""Optional JuiceeBeatClock in scene for tight musical sync.
decay_timefloat0.35Seconds for each zoom to decay back.

JuiceeCameraRotationEffect

Dutch tilt — rotate Camera2D to angle_degrees then spring back. Three phases: tilt-in → optional hold → return. Uses JuiceeStateStack on the camera's rotation property for concurrent-safe restore. Car chases, punch impacts, dramatic reveals, disorientation, wave attacks.

Accessibility tag: TAG_SCREENSHAKE

PropertyTypeDefaultDescription
angle_degreesfloat5.0Tilt angle in degrees. Negative = tilt left. Range −45 to 45.
tilt_durationfloat0.3Seconds to tween to the tilted position.
hold_durationfloat0.0Seconds to hold the tilt before returning.
return_durationfloat0.4Seconds to spring back to neutral.

Object (37 effects)

Object effects target the context node directly (Node2D, CanvasItem, Control, Light2D, RigidBody2D). Most use JuiceeStateStack to handle concurrent safety.


JuiceeFlashEffect

Blinks modulate on a CanvasItem N times. The quintessential hit acknowledgment.

PropertyTypeDefaultDescription
flash_colorColorColor.WHITEThe modulate color to flash to.
durationfloat0.15Duration per flash cycle (on + off).
flash_countint1Number of flashes.
boostfloat2.0Over-brighten multiplier on flash_color (modulate can exceed 1.0), so a white flash actually brightens an untinted sprite. 1.0 = plain tint.

Accessibility tag: TAG_FLASH


JuiceeModulateEffect

Smooth modulate color transition (unlike Flash which blinks). Tween from current color to target_color.

PropertyTypeDefaultDescription
target_colorColorColor(1,0.5,0.5)Destination color.
durationfloat0.4Tween duration.
return_durationfloat0.3Time to return to original color (0 = snap).

JuiceeBounceEffect

Squash & stretch scale punch on a Node2D. The most fundamental object feel effect.

PropertyTypeDefaultDescription
scale_factorfloat1.3Peak scale multiplier. 1.3 = 30% bigger.
squash_factorfloat0.7Squash phase multiplier (applied perpendicular to stretch).
durationfloat0.3Total bounce duration.
bounce_curveCurvenullOptional designer curve. Falls back to TRANS_ELASTIC.

JuiceeJigglePhysicsEffect

Spring-mass jiggle on scale using real harmonic-oscillator physics. More flexible than canned tweens — tune stiffness/damping for the exact jelly feel you want.

PropertyTypeDefaultDescription
impulseVector2Vector2(0.4,-0.4)Initial scale impulse (X/Y perturbation).
stiffnessfloat8.0Spring stiffness constant. Higher = faster oscillation.
dampingfloat0.85Per-frame damping (0–1). Lower = more oscillations.
massfloat1.0Simulated mass.
max_durationfloat2.0Max duration before force-stopping.

JuiceePositionEffect

Move Node2D by offset from current position, then return.

PropertyTypeDefaultDescription
offsetVector2Vector2(0, -20)Displacement from the rest position, or the exact position when relative = false.
durationfloat0.3Total move + return duration.
return_to_originalbooltrueMove back to the original position after the punch.
relativebooltrueOffset from where the node already is, or the exact value to land on.
trans_typeTween.TransitionTypeTRANS_BACKTween transition.
ease_typeTween.EaseTypeEASE_OUTTween ease.

JuiceePosition3DEffect

Same as PositionEffect for Node3D.

PropertyTypeDefaultDescription
offsetVector3Vector3(0, 0.5, 0)Displacement in world units, or the exact position when relative = false.
durationfloat0.3Total move + return duration.
return_to_originalbooltrueMove back to the original position after the punch.
relativebooltrueOffset from where the node already is, or the exact value to land on.
trans_typeTween.TransitionTypeTRANS_BACKTween transition.
ease_typeTween.EaseTypeEASE_OUTTween ease.

JuiceeRotationEffect

Rotate Node2D by angle_degrees then snap or tween back.

PropertyTypeDefaultDescription
angle_degreesfloat15.0Rotation angle. Positive = clockwise. The exact angle when relative = false.
durationfloat0.3Total rotate + return duration.
return_to_originalbooltrueRotate back to the original angle after the punch.
relativebooltrueOffset from where the node already is, or the exact value to land on.
trans_typeTween.TransitionTypeTRANS_ELASTICTween transition.
ease_typeTween.EaseTypeEASE_OUTTween ease.

JuiceeRotation3DEffect

Rotation punch for Node3D using Basis interpolation.

PropertyTypeDefaultDescription
axisVector3Vector3.UPRotation axis (auto-normalized).
angle_degreesfloat15.0Angle of the punch. The exact orientation when relative = false.
durationfloat0.3Total rotate + return duration.
return_to_originalbooltrueRotate back to the original orientation after the punch.
relativebooltrueOffset from where the node already is, or the exact value to land on.
trans_typeTween.TransitionTypeTRANS_ELASTICTween transition.
ease_typeTween.EaseTypeEASE_OUTTween ease.

JuiceeTrailEffect

Ghost trail behind a Sprite2D by spawning semi-transparent copies at regular intervals.

PropertyTypeDefaultDescription
trail_lengthint6Number of ghost copies.
trail_intervalfloat0.04Seconds between ghost spawns.
durationfloat0.5Total trail duration.
alpha_curveCurvenullOptional custom fade curve for ghost alpha.

JuiceeBurstEffect

One-shot CPUParticles2D burst at the target's position. Fully configurable; no pre-existing particle node required.

PropertyTypeDefaultDescription
amountint12Number of particles.
colorColorColor(1,0.8,0.3)Particle color.
speedfloat180.0Initial particle speed in px/s.
spreadfloat120.0Spread angle in degrees. 360 = full circle.
lifetimefloat0.6Particle lifetime.
gravityVector2Vector2(0,200)Applied gravity.

JuiceeConfettiEffect

Multi-color confetti burst. Colors cycle through a configurable palette.

PropertyTypeDefaultDescription
amountint40Particle count.
speedfloat200.0Initial speed.
spreadfloat360.0Spread angle.
lifetimefloat1.2Particle lifetime.
air_dragfloat0.0Air resistance, pieces shoot out then slow and drift like paper. 0 = ballistic.
colorsArray[Color](rainbow)Color palette — particles cycle through these.

JuiceeLightFlashEffect

Flash a Light2D's energy and color. Target must be a Light2D node.

PropertyTypeDefaultDescription
peak_energyfloat3.0Peak light energy at the flash moment.
flash_colorColorColor.WHITELight color at peak.
durationfloat0.3Duration.

JuiceeSpringEffect

Harmonic-oscillator spring on any Vector2 property. Use for bouncy menus, squash-on-hit, panel-into-view oscillation.

PropertyTypeDefaultDescription
target_pathNodePath"."Node that owns the property (. = context).
propertyString"scale"Property name (e.g., "scale", "position", "modulate").
impulseVector2Vector2(0.3,-0.3)Initial velocity kick.
stiffnessfloat200.0Spring stiffness constant.
dampingfloat10.0Damping coefficient.
massfloat1.0Simulated mass.
max_durationfloat2.0Force-stop after this time.

JuiceeAmbientFlashEffect

Repeating modulate flash for sustained danger states. Loops until stop() is called or duration expires.

PropertyTypeDefaultDescription
flash_colorColorColor(1,0.2,0.2,0.5)Flash color.
durationfloat3.0Total run time (0 = run until stop()).
frequencyfloat1.5Flashes per second.
pulse_curveCurvenullOptional custom pulse shape.

Accessibility tag: TAG_FLASH


JuiceeStrobeLightEffect

Square-wave Light2D energy pulse. Target must be Light2D. Lightning, flashbang, emergency siren.

PropertyTypeDefaultDescription
pulse_countint6Number of on/off cycles.
durationfloat0.5Total strobe duration.
peak_energyfloat3.0Energy at the ON phase.
on_ratiofloat0.5Fraction of each cycle spent in the ON state.

Accessibility tag: TAG_FLASH


JuiceeRecoilEffect

Directional position kick on Node2D with spring-back. Gun recoil, hit absorption.

PropertyTypeDefaultDescription
directionVector2Vector2(-1,0)Kick direction. Normalized automatically.
kick_distancefloat12.0Displacement in pixels.
return_durationfloat0.18Time to spring back.
overshootfloat0.2Spring overshoot.

Runtime params: {"direction": Vector2} — override direction per-shot.
Accessibility tag: TAG_SCREENSHAKE


JuiceeOutlineEffect

Animates a colored outline on a CanvasItem via shader uniform. Selection ring, status glow, lock-on indicator.

PropertyTypeDefaultDescription
outline_colorColorColor(1,0.85,0.2)Outline color.
outline_widthfloat2.0Outline width in pixels.
durationfloat0.8Duration.
fade_outbooltrueFade outline to 0.
persistentboolfalseKeep outline until stop().

JuiceeColorCycleEffect

Cycles modulate through the HSV hue wheel. Rainbow powerup, party mode, boss phase shift.

PropertyTypeDefaultDescription
cyclesfloat2.0Number of full hue cycles.
durationfloat1.5Duration.
saturationfloat1.0Color saturation.
valuefloat1.0Color value (brightness).
preserve_alphabooltrueKeep the original modulate alpha (else fully opaque).
loopboolfalseCycle forever until stop() — persistent "RAINBOW MODE". duration still sets cycle speed.

JuiceeSpinEffect

Full 360° rotation tween on Node2D. Coin pickups, death spin, victory twirl.

PropertyTypeDefaultDescription
degrees_per_secondfloat360.0Rotation speed. Negative = counter-clockwise.
durationfloat1.0Total spin duration. total_rotation = degrees_per_second * duration.
restore_on_endboolfalseTween back to the original rotation when done.
restore_durationfloat0.15Snap-back time (only with restore_on_end).
ease_outboolfalseStart fast and decelerate into the stop, like a coin settling. false = constant speed.
directionfloat1.01.0 = clockwise, -1.0 = counter-clockwise.

JuiceeWiggleEffect

Random position jitter at frequency Hz with optional decay. Anxiety, confusion, low-health tremor.

PropertyTypeDefaultDescription
amplitudefloat4.0Max displacement per axis in pixels.
frequencyfloat12.0Jitter updates per second.
durationfloat0.5Duration.
decaybooltrueLinearly decay amplitude to 0 over duration.

JuiceeSpriteBobEffect

Sine-wave bob along bob_axis. sin(t * PI) envelope for smooth start and stop. Floating pickups, hover loop, idle animations.

PropertyTypeDefaultDescription
amplitudefloat6.0Bob amplitude in pixels.
frequencyfloat1.5Bobs per second.
durationfloat3.0Duration.
bob_axisVector2Vector2(0,1)Axis to bob along. Vector2(0,1) = vertical. Normalized.
phase_offsetfloat0.0Phase in radians — offset multiple bobbing objects.

JuiceePopInEffect

TRANS_SPRING / EASE_OUT scale-in from from_scale to 1.0. The most satisfying UI pop-in possible. Works on Node2D and Control.

PropertyTypeDefaultDescription
from_scalefloat0.0Starting scale. 0.0 = pop in from nothing.
durationfloat0.45Pop-in duration. Spring overshoot is handled by TRANS_SPRING.

JuiceeShakeControlEffect

Horizontal shake on a Control node with ±30% vertical noise and linear decay. Wrong-password field, invalid-action button.

PropertyTypeDefaultDescription
amplitudefloat8.0Peak horizontal displacement in pixels.
frequencyfloat18.0Shakes per second.
durationfloat0.4Duration (amplitude decays linearly to 0).

JuiceePulseEffect

Repeating EXPO scale pulse per interval. count = 0 + duration > 0 = infinite time-limited loop. Heartbeat, charge meter, selected state.

PropertyTypeDefaultDescription
scale_factorfloat1.15Peak scale multiplier.
intervalfloat0.5Seconds between pulse peaks.
countint0Fixed pulse count (0 = time-limited by duration).
durationfloat3.0Time-limit when count = 0.
in_ratiofloat0.25Fraction of interval used for the scale-up phase.

JuiceeFadeEffect

Fade a CanvasItem's modulate.a to target_alpha over duration. With restore_on_end = true: fade to target, hold, then fade back to original. The most fundamental UI and game effect — always use this instead of tweening modulate.a manually.

PropertyTypeDefaultDescription
target_alphafloat0.0Target alpha (0=transparent, 1=opaque).
durationfloat0.5Duration to reach target_alpha.
restore_on_endboolfalseFade back to original alpha after hold.
hold_durationfloat0.0Seconds to hold at target_alpha before restoring.
restore_durationfloat0.4Duration of the return fade.
transitionTween.TransitionTypeTRANS_SINETween transition type.
easingTween.EaseTypeEASE_IN_OUTTween ease type.

JuiceeFlipEffect

Set flip_h / flip_v on a Sprite2D or AnimatedSprite2D using a per-axis mode: TOGGLE (invert), SET_TRUE (force flipped), or SET_FALSE (force unflipped). Optional restore_on_end with configurable hold time.

PropertyTypeDefaultDescription
flip_h_modeModeTOGGLEHow to change flip_h: TOGGLE, SET_TRUE, or SET_FALSE.
flip_v_modeModeSET_FALSEHow to change flip_v. SET_FALSE = no change to vertical flip.
restore_on_endboolfalseRestore original flip state after hold.
hold_durationfloat0.0Seconds to hold the new state before restoring.

JuiceeInstantiateEffect

Spawn a PackedScene at the context node's world position. Adds to the current scene tree under parent_path (or the root scene). Auto-frees the instance after lifetime seconds. Works for both 2D and 3D contexts.

PropertyTypeDefaultDescription
scenePackedScenenullScene to spawn. Required — effect is a no-op if null.
position_offsetVector2Vector2.ZEROWorld-space offset added to the context's position.
parent_pathNodePath""Parent node path. Empty = scene's current root.
lifetimefloat2.0Seconds until the spawned instance is queue_freed. 0 = never auto-free.
inherit_rotationboolfalseCopy the context's rotation to the spawned instance.
inherit_scaleboolfalseCopy the context's scale to the spawned instance.

JuiceeSizeDeltaEffect

Tween a Control node's custom_minimum_size or size to target_size. With restore_on_end = true, tweens back to the original size after an optional hold. Use CUSTOM_MINIMUM_SIZE for anchored layouts; SIZE for freely-positioned Controls.

PropertyTypeDefaultDescription
size_targetSizeTargetCUSTOM_MINIMUM_SIZECUSTOM_MINIMUM_SIZE or SIZE.
target_sizeVector2Vector2(200, 50)Target size in pixels.
durationfloat0.3Duration to reach target_size.
restore_on_endboolfalseTween back to original size after hold.
hold_durationfloat0.0Seconds to hold at target_size before restoring.
restore_durationfloat0.2Duration of the return tween.
transitionTween.TransitionTypeTRANS_QUADTween transition type.
easingTween.EaseTypeEASE_OUTTween ease type.

JuiceeShaderParameterEffect

Tween any ShaderMaterial uniform from from_value to to_value. Works on CanvasItem (reads material directly) and MeshInstance3D (reads get_surface_override_material(surface_index)). Falls back to mesh's base material if no override. Drive dissolve, emission intensity, scanline density — any float/vec/color uniform.

PropertyTypeDefaultDescription
target_pathNodePath""Node with the shader material. Empty = context node.
surface_indexint0Surface index for MeshInstance3D.
parameter_nameString""Shader uniform name (without shader_parameter/ prefix).
from_valueVariant0.0Start value.
to_valueVariant1.0End value.
durationfloat0.5Tween duration.
restore_on_endboolfalseRestore original uniform value when done.
transitionTween.TransitionTypeTRANS_SINETween transition type.
easingTween.EaseTypeEASE_IN_OUTTween ease type.

JuiceeFlickerEffect

Organic random modulate flicker on a CanvasItem. Randomises on/off intervals from [min_interval, max_interval]. duration = 0 runs indefinitely until stop() is called. Torches, broken neon signs, ghost transparency, dying machinery, flickering hazard lights.

Accessibility tag: TAG_FLASH

PropertyTypeDefaultDescription
off_colorColorColor(0,0,0,0)Modulate color when "off". Default = transparent.
min_intervalfloat0.04Minimum seconds between state changes.
max_intervalfloat0.15Maximum seconds between state changes.
durationfloat1.5Total run time. 0 = infinite until stop().
off_chancefloat0.3Probability (0–1) that each interval switches to "off".

JuiceeScaleEffect

General scale tween on Node2D or Control to target_scale with optional return to original. Unlike BounceEffect (squash-and-stretch math), this tweens directly to a designer-specified absolute scale. Use for emphasis, selection highlight, or UI panel resize.

PropertyTypeDefaultDescription
target_scaleVector2Vector2(1.5, 1.5)Scale multiplier when relative, otherwise the exact scale to reach.
durationfloat0.3Seconds to reach target_scale.
return_to_originalbooltrueTween back to original scale after.
return_durationfloat0.2Duration of the return tween.
relativebooltrueMultiply the node's current scale, or treat target_scale as the exact scale to land on.
transitionTween.TransitionTypeTRANS_QUADTween transition type.
easingTween.EaseTypeEASE_OUTTween ease type.

JuiceeScale3DEffect

The Node3D counterpart of JuiceeScaleEffect. Scale punch with an optional spring back. Pickups, impacts, props that grow and shrink.

PropertyTypeDefaultDescription
target_scaleVector3Vector3(1.5, 1.5, 1.5)Scale multiplier when relative, otherwise the exact scale to reach.
durationfloat0.3Seconds to reach target_scale.
return_to_originalbooltrueSpring back to the original scale after.
return_durationfloat0.25Duration of the return tween.
relativebooltrueMultiply the node's current scale, or treat target_scale as the exact scale to land on.
trans_typeTween.TransitionTypeTRANS_BACKTween transition type.
ease_typeTween.EaseTypeEASE_OUTTween ease type.

JuiceeParticleEffect

Control an existing CPUParticles2D or GPUParticles2D by NodePath. Four actions: EMIT (enable + optional one-shot), STOP, RESTART, TOGGLE. Optional wait_for_finish stalls the calling sequence until the particle system's lifetime elapses.

PropertyTypeDefaultDescription
particle_pathNodePath""Path to the CPUParticles2D or GPUParticles2D.
actionActionEMITEMIT, STOP, RESTART, or TOGGLE.
wait_for_finishboolfalseAwait the particle system's lifetime before continuing.

JuiceeLight3DEffect

Flash a Light3D's energy and color to a peak value then decay back. Uses JuiceeStateStack to restore light_energy and light_color safely under concurrent calls. Muzzle flash, explosion light, magic pulse, flickering candle highlight.

Dimensions: 3D only

PropertyTypeDefaultDescription
light_pathNodePath""Path to Light3D. Empty = context node if it is a Light3D.
peak_energyfloat5.0Peak light_energy at flash apex.
flash_colorColorColor.WHITElight_color during the flash.
durationfloat0.25Total flash duration (fade-in 30% / hold 20% / fade-out 50%).
restore_energybooltrueRestore original energy/color on finish.

JuiceeMaterial3DEffect

Animate any property on a MeshInstance3D's surface material. Duplicates the material at apply time to avoid affecting other mesh instances sharing the same resource. Configurable restore_on_end. Dissolve in/out, emission ramp, fresnel fade, hit-flash on 3D meshes.

Dimensions: 3D only

PropertyTypeDefaultDescription
mesh_pathNodePath""Path to MeshInstance3D. Empty = context node.
surface_indexint0Surface index on the mesh.
property_nameString""Material property path (e.g. "albedo_color", "emission_energy_multiplier").
from_valueVariant0.0Start value.
to_valueVariant1.0End value.
durationfloat0.5Tween duration.
restore_on_endboolfalseRestore original property value when done.

JuiceeImpactRingEffect

Expanding ring + radiating "POW" spikes drawn at a Node2D in world-space (Line2D, no shaders). Crits, parries, big landings, small explosions. Distinct from the full-screen shader JuiceeShockwaveEffect — this geometry sits on the object. (New in 1.2.0.)

PropertyTypeDefaultDescription
radiusfloat42.0Ring radius in pixels at full scale.
expandfloat2.4Final scale the flourish expands to.
ring_widthfloat5.0Ring line thickness in pixels.
colorColor(1, 0.85, 0.3)Ring + spike colour.
spikesint8Radiating spike count (0 = ring only).
spike_lengthfloat26.0How far each spike extends past the ring.
durationfloat0.36Expand + fade duration.

JuiceeSwayEffect

Smooth pendulum rotation driven by a sine wave. Unlike JuiceeWiggleEffect (random jitter) or JuiceeSpinEffect (full revolution), it's a soft looping tilt. Idle "alive" UI, hanging signs, floating pickups, breathing titles. Works on Node2D and Control. (New in 1.2.0.)

PropertyTypeDefaultDescription
anglefloat6.0Peak sway angle to each side, in degrees.
periodfloat1.2Seconds for one full left→right→left cycle.
cyclesfloat2.0Full cycles to run. 0 = sway forever (until stop()).
center_pivotbooltrueFor Control targets, rotate around the centre instead of the corner.

Text (7 effects)

Text effects target Label, RichTextLabel, or Control nodes.


JuiceeDamageNumberEffect

Spawns a floating damage number above the target Node2D. Crit support via runtime params.

PropertyTypeDefaultDescription
base_colorColorColor.WHITENormal hit color.
crit_colorColorColor(1,0.85,0.2)Critical hit color.
font_sizeint18Normal font size.
crit_font_sizeint26Crit font size.
float_heightfloat60.0Pixels the number floats upward.
durationfloat0.9Lifetime of the spawned label.
offsetVector2Vector2(0,-20)Initial spawn offset from context.

Runtime params: {"damage": int, "is_crit": bool} — pass via play() or Juicee.damage_number().


JuiceeFloatingTextEffect

Generic floating text label above a Node2D. Level Up!, pickup names, status messages.

PropertyTypeDefaultDescription
text_colorColorColor.WHITELabel color.
font_sizeint16Font size.
float_heightfloat50.0Float travel distance.
durationfloat0.8Lifetime.
travel_modeint00=up, 1=down, 2=random horizontal.

Runtime params: {"text": String, "color": Color} — dynamically set text and color.


JuiceeButtonPunchEffect

Scale punch for Control nodes. Bouncy button click, menu item highlight.

PropertyTypeDefaultDescription
scale_factorfloat1.15Peak scale.
durationfloat0.25Duration.
punch_colorColorColor.WHITEOptional modulate flash during punch (set alpha 0 to skip).

JuiceeTypewriterEffect

Char-by-char text reveal on a Label via visible_ratio. Dialog, intros, terminal vibes.

PropertyTypeDefaultDescription
chars_per_secondfloat30.0Reveal speed.
click_soundsArray[AudioStream][]Optional click sounds, one picked at random per character.
click_volume_dbfloat-6.0Click volume in dB.
click_pitch_variancefloat1.15Random pitch range per click (1.0 = no variance).
skip_whitespace_clicksbooltrueDon't click on spaces.
punctuation_pausefloat0.0Extra pause after . ! ? (half after , ; :) so typing breathes like speech. 0 = even pacing.

Runtime params: {"text": String} — set the text to reveal.


JuiceeNumberCountEffect

Tween a Label's displayed number from X to Y. Score rollups, money counters, XP bars.

PropertyTypeDefaultDescription
durationfloat1.0Tween duration.
number_formatString"%d"Printf format string. "%.1f" for decimals.
prefixString""Text before the number.
suffixString""Text after the number (e.g. "G" for gold).

Runtime params: {"from": float, "to": float} — start and end values.


JuiceeTextWobbleEffect

Sine-wave wobble on a Control's position with linear decay. Drama text — GAME OVER, WAVE COMPLETE, BOSS APPROACHING.

PropertyTypeDefaultDescription
amplitudefloat4.0Max offset in pixels.
frequencyfloat8.0Oscillations per second.
durationfloat0.5Duration (amplitude decays to 0).

JuiceeTextScrambleEffect

Reveals a Label's text by cycling random characters that lock in left to right. Decoding, hacker terminals, glitchy reveals. Pass the text via the text runtime param. (New in 1.3.0.)

PropertyTypeDefaultDescription
default_textString"DECODING"Text shown when the caller doesn't pass a text param.
durationfloat0.8How long the scramble takes to fully resolve.
charsetStringA-Z 0-9 !@#$%&*Characters cycled through for the not-yet-locked positions.

Time (5 effects)

Time effects manipulate Engine.time_scale. They use real-time timers to restore state.


JuiceeHitStopEffect

Instant Engine.time_scale freeze for tactile impact moments. ~50–100ms is the sweet spot for melee combat. Sets time_scale to time_scale_during for freeze_duration, then restores.

PropertyTypeDefaultDescription
freeze_durationfloat0.08Duration in real-time seconds.
time_scale_duringfloat0.0time_scale value during freeze. 0.0 = full stop.

JuiceeTimeScaleRampEffect

Smooth slow-motion with ramp-in / hold / ramp-out. Bullet time, dramatic moments.

PropertyTypeDefaultDescription
target_scalefloat0.2Slow-mo time_scale. 0.1 = 10x slower.
ramp_infloat0.3Seconds to ramp from 1.0 to target_scale.
holdfloat0.4Seconds to hold at target_scale.
ramp_outfloat0.4Seconds to return to 1.0.

JuiceeDelayEffect

Pure wait — apply() awaits a timer then returns. Useful for sequencing in a JuiceeSequence.

PropertyTypeDefaultDescription
wait_timefloat0.5Seconds to wait.
real_timeboolfalseIf true, uses real-time (ignores time_scale).

JuiceeFreezeFrameEffect

Engine.time_scale = 0.0 for duration real-time seconds with optional white flash overlay. Visually heavier than HitStop — use for finishing blows, super-move activations, dramatic moments.

PropertyTypeDefaultDescription
durationfloat0.06Real-time freeze duration.
use_flashbooltrueShow white full-screen flash overlay.
flash_colorColorColor(1,1,1,0.9)Flash overlay color.
flash_fadefloat0.08Seconds to fade out the flash after time resumes.

JuiceeStutterEffect

A rapid burst of micro-freezes (machine-gun hit-stop), each a brief Engine.time_scale drop with a gap between. Hit flurries, glitches, power surges. (New in 1.3.0.)

PropertyTypeDefaultDescription
countint5How many freeze stutters.
freeze_timefloat0.03Real seconds each freeze lasts.
gap_timefloat0.03Real seconds of normal speed between freezes.
time_scale_duringfloat0.0Engine.time_scale during each freeze (0 = full stop).

Audio (8 effects)

Audio effects target audio buses or spawn temporary AudioStreamPlayer nodes. They work in both 2D and 3D scenes.


JuiceeSoundEffect

Plays a random AudioStream from an array with pitch variance. Drop-in sound player without needing a persistent AudioStreamPlayer in the scene.

PropertyTypeDefaultDescription
streamsArray[AudioStream][]Pool of streams — one picked at random per play.
volume_dbfloat0.0Volume offset in dB.
pitch_minfloat0.9Min pitch scale.
pitch_maxfloat1.1Max pitch scale.
busStringName"Master"Target audio bus.

JuiceeMusicDuckEffect

Temporarily lower an audio bus volume then restore. Useful for momentarily quieting music under a cutscene voice line.

PropertyTypeDefaultDescription
bus_nameStringName"Music"Audio bus to duck.
target_dbfloat-12.0Ducked volume in dB.
duck_timefloat0.2Ramp-down time.
hold_timefloat1.0Hold at ducked volume.
restore_timefloat0.4Ramp-up back to original.

JuiceeRumbleEffect

Gamepad vibration via Input.start_joy_vibration().

PropertyTypeDefaultDescription
weak_magnitudefloat0.5High-frequency motor magnitude (0–1).
strong_magnitudefloat0.5Low-frequency motor magnitude (0–1).
durationfloat0.2Vibration duration.
deviceint0Gamepad device index.

JuiceeReverbEffect

Temporarily injects an AudioEffectReverb on an audio bus with wet ramp in/out. Boss intros, low-health states, cave echoes.

PropertyTypeDefaultDescription
bus_nameStringName"Master"Target audio bus.
peak_wetfloat0.45Peak reverb wet mix (0–1).
room_sizefloat0.7Reverb room size.
durationfloat1.5Total duration including fade in/out.
fade_outbooltrueFade reverb wet to 0 at the end.

JuiceePitchShiftEffect

Temporarily injects an AudioEffectPitchShift on an audio bus. Underwater, slow-mo audio, demon transformation.

PropertyTypeDefaultDescription
bus_nameStringName"Master"Target audio bus.
target_pitchfloat0.7Target pitch scale. 0.5 = octave down, 2.0 = octave up.
durationfloat1.0Duration.
ramp_infloat0.2Seconds to ramp from 1.0 to target_pitch.
ramp_outfloat0.3Seconds to return to 1.0.

JuiceeLowPassEffect

Ramps a temporary AudioEffectLowPassFilter on an audio bus from fully open down to target_cutoff and back — the muffled-on-hit, underwater, stunned/concussed, behind-a-wall feel. Pairs perfectly with Hit Stop. (New in 1.2.0.)

PropertyTypeDefaultDescription
bus_nameString"Master"Target audio bus.
target_cutofffloat500.0Cutoff (Hz) at full muffle. Lower = more muffled (≈500 = "behind a wall").
durationfloat0.6Total duration: ramp-in + hold + ramp-out.
ramp_in_fractionfloat0.15Fraction of duration spent muffling.
ramp_out_fractionfloat0.35Fraction of duration spent opening back up.

JuiceeAudioSource3DEffect

Spawn a temporary AudioStreamPlayer3D at the context node's world position and play a random stream from the pool. The player is auto-freed when it finishes. For 2D contexts, derives 3D position from Node2D.global_position with a pixel-to-metre scale factor. Spatial SFX, footsteps, explosions, any world-space 3D sound.

PropertyTypeDefaultDescription
streamsArray[AudioStream][]Pool of streams — one is chosen at random per play.
volume_dbfloat0.0Playback volume in dB.
pitch_minfloat0.9Minimum pitch scale for random variance.
pitch_maxfloat1.1Maximum pitch scale for random variance.
busStringName"Master"Target audio bus.
max_distancefloat20.0AudioStreamPlayer3D.max_distance (metres).
attenuation_modelint0AudioStreamPlayer3D.attenuation_model enum value.
position_offsetVector3Vector3.ZEROWorld-space offset added to the spawn position.

JuiceeDistortionEffect

Ramps a temporary AudioEffectDistortion onto a bus and back. Blown speakers, radios, damage states. Pairs with Hit Stop, like Reverb / Low-Pass. (New in 1.3.0.)

PropertyTypeDefaultDescription
bus_nameString"Master"Name of the audio bus to distort.
peak_drivefloat0.5Peak distortion drive.
modeint0 (Clip)Distortion flavour: Clip, ATan, LoFi, Overdrive, WaveShape.
durationfloat0.8Total duration: ramp-in + hold + ramp-out.
ramp_in_fractionfloat0.15Ramp-in fraction of the duration.
ramp_out_fractionfloat0.35Ramp-out fraction of the duration.

Physics (3 effects)


JuiceeImpulseEffect

Applies a physics impulse to a RigidBody2D. Knockback, explosion push, projectile impact.

PropertyTypeDefaultDescription
impulseVector2Vector2(0,-300)Impulse vector in pixel-units.
at_positionVector2Vector2.ZEROLocal position for torque (zero = center of mass).

Runtime params: {"impulse": Vector2} — override direction/magnitude per-hit.


JuiceeAddForceEffect

Apply an impulse or continuous force to RigidBody2D or RigidBody3D. Three modes: IMPULSE (instant apply_impulse/apply_central_impulse), CONSTANT_FORCE (sustained over duration then cleared if clear_force_on_end), TORQUE_IMPULSE (angular velocity kick). Explosion push, wind gusts, magnetic pull, knockback, conveyor belts, one-shot jumps.

PropertyTypeDefaultDescription
forceVector2Vector2(0,-300)Force/impulse for RigidBody2D.
force_3dVector3Vector3(0,5,0)Force/impulse for RigidBody3D.
modeModeIMPULSEIMPULSE, CONSTANT_FORCE, or TORQUE_IMPULSE.
durationfloat0.3Sustain time for CONSTANT_FORCE mode.
clear_force_on_endbooltrueRemove the constant force after duration (CONSTANT_FORCE only).
at_positionVector2Vector2.ZEROLocal position for offset impulse (2D only).

JuiceeKnockbackEffect

Shoves a RigidBody2D along hit_direction (falling back to default_direction), scaled by force. Aimed hit reactions, unlike Impulse's fixed vector. (New in 1.3.0.)

PropertyTypeDefaultDescription
targetNodePath(empty)Path to the RigidBody2D. Empty = the context must be one.
forcefloat400.0Impulse strength (pixels/sec of velocity added).
default_directionVector2RIGHTDirection used when no hit_direction is passed.

Flow (12 effects)

Flow effects compose or coordinate other effects. They work in both 2D and 3D scenes.


JuiceeSequenceEffect

Embeds another JuiceeSequence as a single step. Use for composable preset libraries — build a "hit reaction" .tres, then reference it from multiple sequences.

PropertyTypeDefaultDescription
sequenceJuiceeSequencenullThe embedded sequence to play.

JuiceePropertyTweenEffect

Tween any property on any node. Universal escape hatch for one-off tweens.

PropertyTypeDefaultDescription
target_pathNodePath"."Node to tween (. = context).
propertyString""Property name (e.g. "position:x", "material:shader_parameter/strength").
from_valueVariantnullStart value (null = current value).
to_valueVariantnullEnd value.
durationfloat0.5Tween duration.
transitionintTRANS_QUADTween.TransitionType.
easingintEASE_OUTTween.EaseType.

JuiceeAnimationPlayerEffect

Triggers AnimationPlayer.play() as a sequence step. FEEL parity — blend Godot animations into Juicee sequences.

PropertyTypeDefaultDescription
player_pathNodePath""Path to the AnimationPlayer.
animation_nameStringName""Animation to play.
speedfloat1.0Playback speed.
wait_for_finishbooltrueAwait the animation end before proceeding.
blend_timefloat0.0Crossfade time from the current animation.

JuiceeSetActiveEffect

Show or hide a node for duration seconds then restore original visibility. Muzzle flash, hit spark, tutorial highlight.

PropertyTypeDefaultDescription
target_pathNodePath"."Node to show/hide.
actionActionSHOWSHOW, HIDE, or TOGGLE.
durationfloat0.5How long to hold the new visibility state.

JuiceeChainEffect

Composes N child JuiceeEffect resources as one reusable block. Build signature move combos as a single .tres asset.

PropertyTypeDefaultDescription
effectsArray[JuiceeEffect][]Child effects.
parallelboolfalsePlay children simultaneously.
step_delayfloat0.0Delay between each child when parallel=false.

JuiceeWaitForInputEffect

Pause sequence execution until the player presses a specified input action. Dialog advancement, tutorial checkpoints, cutscene pacing.

PropertyTypeDefaultDescription
actionString"ui_accept"Input action name (as configured in Project Settings → Input Map).
timeoutfloat0.0Auto-advance after this many seconds (0 = wait forever).

JuiceeBeatSyncEffect

Fire a child effect synchronized to a BPM beat for duration seconds. Two modes:

  • Clock mode: set clock_path to a JuiceeBeatClock in the scene — fires exactly on the clock's beat signal for musically tight sync.
  • Standalone mode: leave clock_path empty — fires at the computed 60/bpm * beats_per_trigger interval internally.
PropertyTypeDefaultDescription
effectJuiceeEffectnullThe child effect to fire each beat.
bpmfloat120.0BPM for standalone mode.
beats_per_triggerint1Fire every N beats (1=every beat, 2=every other, 4=every bar).
durationfloat8.0Total run time (0 = fire once and stop).
clock_pathNodePath""Optional JuiceeBeatClock for tight musical sync.

JuiceeEmitSignalEffect

Emit a named signal on the context node with an optional Variant argument. Bridge between Juicee sequences and gameplay systems without direct code coupling. The signal must be pre-declared on the context node. Use argument = null for no-arg signals.

PropertyTypeDefaultDescription
signal_nameString""Name of the signal to emit.
argumentVariantnullOptional argument. Pass null for zero-argument signals.

JuiceeDebugLogEffect

Print, push_warning, or push_error a message from within a Juicee sequence. Supports {context} placeholder replaced with the context node's name at runtime. Zero game impact in shipping builds if guarded.

PropertyTypeDefaultDescription
messageString""Message text. Use {context} to embed the context node name.
levelLevelPRINTPRINT (print), PUSH_WARNING, or PUSH_ERROR.
include_context_namebooltruePrefix message with "[ContextName] ".

JuiceeAnimationTreeEffect

Travel to an AnimationTree state machine state or set any tree parameter directly. TRAVEL mode calls StateMachinePlayback.travel(parameter) for smooth blended transitions. SET_PARAMETER mode writes any tree parameter (blend amounts, time scales, booleans, etc.). Auto-discovers an AnimationTree child if tree_path is empty.

PropertyTypeDefaultDescription
tree_pathNodePath""Path to the AnimationTree. Empty = search context children.
modeModeTRAVELTRAVEL or SET_PARAMETER.
parameterString"Idle"State name (TRAVEL) or parameter path (SET_PARAMETER), e.g. "parameters/TimeScale/scale".
valueVarianttrueValue for SET_PARAMETER mode. Ignored in TRAVEL mode.
playback_pathString"parameters/playback"Path to the StateMachinePlayback parameter (TRAVEL mode only).
wait_for_finishboolfalsePoll until the current node matches parameter and has played to end (TRAVEL only).

JuiceeSetPropertyEffect

Instantly set_indexed(property_name, value) on any node, then optionally restore the original value after restore_delay seconds. The direct-assignment complement to PropertyTweenEffect — no animation, just set. Toggle bool flags, snap positions, change label text, enable/disable collision layers mid-sequence.

PropertyTypeDefaultDescription
target_pathNodePath""Node to modify. Empty = context node.
property_nameString""Property path (supports sub-paths: "position:x", "material:albedo_color").
valueVarianttrueValue to set.
restore_delayfloat-1.0-1 = never restore, 0 = restore immediately after setting, > 0 = restore after N seconds.

JuiceeAutoDestructEffect

queue_free() the context node (or a target) after an optional delay. Essential for cleaning up temporary VFX objects spawned by JuiceeInstantiateEffect or other runtime spawners.

PropertyTypeDefaultDescription
target_pathNodePath""Node to free. Empty = context node itself.
delayfloat0.0Seconds to wait before freeing. 0 = queue_free on the next frame.
free_parentboolfalseFree the parent of the resolved target instead of the target itself. Useful when the context is a child (e.g., sprite) but you want to remove the root object.